傳回指定表達式的自定義匯總,如數據提供者所定義。
備註
您可以在報表產生器及 SQL Server Data Tools 的報表設計師中建立和修改報表定義 (.rdl)。 每個撰寫環境提供不同的方式來建立、開啟及儲存報表和相關專案。 如需詳細資訊,請至 microsoft.com 網站上查看 報表設計師和報表產生器 (SSRS) 的報表設計。
語法
Aggregate(expression, scope)
參數
表示式
要在其中執行匯總的表達式。 表達式必須是簡單的欄位引用。
範圍
(String) 包含報表項目之數據集、群組或數據區的名稱,用於套用聚合函數。
範圍 必須是字串常數,而且不能是表達式。 如果未指定 scope ,則會使用目前的範圍。
返回類型
傳回類型是由數據提供者所決定。 如果資料提供者不支援此函式或資料無法使用,則傳 Nothing 回 。
備註
函 Aggregate 式提供使用外部數據源上計算的匯總的方式。 此功能的支援取決於數據延伸模組。 例如,SQL Server Analysis Services 數據處理延伸模組會從 MDX 查詢擷取扁平化的數據列集。 結果集中的某些數據列可以包含數據源伺服器上計算的匯總值。 這些稱為 伺服器匯總。 若要在 Analysis Services 的圖形化查詢設計工具中檢視伺服器匯總,您可以使用工具列上的 [ 顯示匯總 ] 按鈕。 如需詳細資訊,請參閱 Analysis Services MDX 查詢設計工具使用者介面(報表產生器)。
當您在 Tablix 數據區的詳細數據列上顯示匯總和詳細數據數據集值的組合時,通常不會包含伺服器匯總,因為它們不是詳細數據。 不過,您可能想要顯示針對數據集擷取的所有值,並自定義計算和顯示匯總數據的方式。
Reporting Services 會偵測報表中的表示式是否使用 Aggregate 函式,以判斷是否要在詳細資料列上顯示伺服器匯總。 如果您在數據區域中的 Aggregate 表示式中包含 ,則伺服器匯總只能出現在群組總計或總計數據列上,而不是出現在詳細數據列上。 如果您想要在詳細數據列上顯示伺服器匯總,請勿使用 函 Aggregate 式。
您可以變更 [數據集屬性] 對話方塊上 [解譯小計為詳細數據] 選項的值,以變更此預設行為。 當此選項設定為 True時,所有數據,包括伺服器匯總,都會顯示為詳細數據。 當設定為 False 時,伺服器的匯總會以總和的形式顯示。 此屬性的設定會影響連結至此數據集的所有數據區域。
備註
所有包含報表專案 Aggregate 的群組必須在其群組表達式中使用簡單欄位參照,例如 [FieldName]。 您無法在使用複雜群組表示式的資料區域中使用 Aggregate 。 針對 SQL Server Analysis Services 數據處理擴充延伸模組,您的查詢必須包含類型為 LevelProperty 的 MDX 字段(而不是 MemberProperty),以使用 Aggregate 函式來支持匯總。
運算式 可以包含巢狀聚合函數的呼叫,但有下列例外狀況和條件:
巢狀匯總的範圍必須與外部匯總的範圍相同,或包含在其中。 針對表達式中的所有不同範圍,一個範圍必須位於與所有其他範圍的子關聯性中。
巢狀匯總的範圍不能是數據集的名稱。
表達式 不得包含
First、Last、Previous或RunningValue函式。表達式 不能包含指定 遞歸的巢狀匯總。
如需詳細資訊,請參閱聚合函數參考(報表產生器及 SSRS)和總計、匯總和內建集合的運算式範圍(報表產生器及 SSRS)。
如需遞歸匯總的詳細資訊,請參閱建立遞歸階層群組(報表產生器及 SSRS)。
比較匯總和總和函式
Aggregate 函式與數值聚合函數不同,像是 Sum,Aggregate 函式會傳回由數據提供者或數據處理延伸模組所計算的值。 數值聚合函數(例如 Sum)傳回由報表處理器根據 範圍 參數決定的數據集所計算的數值。 如需詳細資訊,請參閱聚合函數參考中所列的聚合函數(報表產生器及 SSRS)。
範例
下列程式代碼範例顯示擷取字段 LineTotal的伺服器匯總的表達式。 表達式會加入至屬於群組 GroupbyOrder的數據列中的儲存格。
=Aggregate(Fields!LineTotal.Value, "GroupbyOrder")
另請參閱
報表中的運算式用法 (報表產生器及 SSRS)
運算式範例 (報表產生器及 SSRS)
運算式中的資料類型 (報表產生器及 SSRS)
總計、匯總和內建集合的表達式範圍(報表產生器及 SSRS)