共用方式為


聚合函數的參考資料(報表產生器和 SSRS)

若要在報表中包含匯總值,您可以在表達式中使用內建聚合函數。 數值欄位的預設聚合函數為 SUM。 您可以編輯表達式,並使用不同的內建聚合函數,或指定不同的範圍。 範圍會識別要用於計算的數據集。

當報表處理器結合報表數據和報表配置時,會評估每個報表項目的表達式。 當您檢視報表的每個頁面時,您會在轉譯的報表項目中看到每個表達式的結果。

下表列出您可以在表示式中包含之內建函式的類別:

若要判斷函式的有效範圍,請參閱個別函式參考主題。 如需詳細資訊和範例,請參閱總計、匯總和內建集合的運算式範圍(報表產生器及 SSRS)。

備註

您可以在報表產生器及 SQL Server Data Tools 的報表設計師中建立和修改報表定義 (.rdl)。 每個撰寫環境提供不同的方式來建立、開啟及儲存報表和相關專案。 如需詳細資訊,請至 microsoft.com 網站上查看 報表設計師和報表產生器 (SSRS) 的報表設計

內建聚合函數

下列內建函數會計算預設範圍或具名範圍中一組非 Null 數值數據的摘要值。

功能 說明
Avg 傳回表達式所指定之所有非 Null 數值的平均值,在指定範圍中評估。
計數 傳回表達式所指定的非 Null 值計數,該值是在指定範圍的內容中評估的。
CountDistinct 傳回表達式所指定之所有相異非 Null 值的計數,該值是在指定範圍的內容中評估的。
麥克斯 傳回指定範圍內容中表達式所指定之所有非 Null 數值的最大值。 您可以使用此功能來指定圖表軸的最大值以控制比例尺。
最小值 傳回指定範圍內容中表達式所指定之所有非 Null 數值的最小值。 您可以使用此功能來指定圖表座標軸的最小值,以調整比例尺。
StDev 傳回表達式所指定之所有非 Null 數值的標準偏差,在指定範圍中評估。
StDevP 傳回表達式所指定的所有非 Null 數值的母體標準差,這些數值是在特定範圍的上下文中進行評估的。
總和 傳回所有在指定範圍內評估的非 Null 數值的總和,這些數值由表達式指定。
聯盟 傳回類型 SqlGeometrySqlGeography 表達式所指定之所有非 Null 空間資料值的聯集,這些值是在指定範圍中評估的。
Var 傳回表達式所指定之所有非 Null 數值的變數,在指定範圍中評估。
VarP 傳回表達式所指定之所有非 Null 數值的母體變異數,在指定範圍的內容中評估。

內建欄位、集合和聚合函數的限制

下表摘要說明報表位置的限制,這些限制適用於您可以新增運算式(包含對全域內建集合的參考)的地方。

報表中的位置 領域 參數 報告項目 頁碼

總頁數
資料來源

資料集
變數 RenderFormat
頁首

頁腳
是的 是的 最多一個

附註 1
是的 是的 是的 是的
身體 是的

附註 2
是的 只有 currnet 範圍或包含範圍中的專案

附註 3
是的 是的 是的
報表參數 僅清單中較早列出的參數

附註 4
領域 是的 是的
查詢參數 是的
群組表達式 是的 是的 是的
排序表達式 是的 是的 是的 是的

附註 5
篩選運算式 是的 是的 是的 是的

附註 6
程式碼 是的

附註 7
報告.語言 是的
變數 是的 是的 是的 當前或包含的範圍
聚合體 是的 是的 只在頁首/頁尾中 僅限於報表項目匯總中 是的
查閱函式 是的 是的 是的 是的
  • 附註 1. ReportItems 必須存在於轉譯的報表頁面中,否則其值為 Null。 如果報表項目的可見性取決於評估為 False 的表示式,報表專案就不存在於頁面上。

  • 附註 2. 如果在群組範圍中使用欄位參考,且欄位參考未包含在群組運算式中,則除非範圍中只有一個值,否則欄位的值是未定義的。 若要指定值,請使用 First 或 Last 和群組範圍。

  • 附註 3. 包含 ReportItems 參考的運算式可以指定相同群組範圍或包含群組範圍中其他 ReportItems 的值。

  • 附注 4. 先前參數的屬性值可能是 Null。

  • 附註 5. 僅在 [成員] 中排序。 無法在數據區排序表示式中使用。

  • 附註 6. 僅在 [成員篩選] 中。 無法在數據區或數據集篩選表達式中使用。

  • 附註 7. 在處理 Code 區塊之後,Parameters 集合才會初始化,因此方法無法用來控制初始化的參數。

  • 附註 8. 除了 Count 和 CountDistinct 以外,所有匯總的數據類型都必須是相同的數據類型,或所有值的 Null。

巢狀匯總的限制

下表摘要說明聚合函數可以指定其他聚合函數做為巢狀匯總的限制。

上下文 RunningValue RowNumber 第一

最後
以前 Sum 和其他 Presort 函式 ReportItem 匯總 查閱函式 聚合函式
運行值 是的 是的
第一

最後
是的
以前 是的 是的 是的 是的 是的
求和及其他 Presort 函式 是的 是的
報告項目匯總
查閱函式 是的 是的

附註 1
是的

附註 1
是的

附註 1
是的

附註 1
是的

附註 1
聚合函式
  • 附註 1. 僅當 Lookup 函數未包含在匯總函數中時,才能允許聚合函數出現在 Lookup 函數的 Source 運算式內。 查閱函式的 DestinationResult 運算式內不允許聚合函數。

計算執行中的值

下列內建函數會計算一組數據的執行值。 RowNumber 就像 RunningValue 一樣,會回傳在包含範圍中每一列資料遞增的計數累計值。 這些函式的範圍參數必須指定一個包含範圍,以控制計數從何時重新計數開始。

功能 說明
RowNumber 傳回指定範圍中行數的累計值。 函數RowNumber從 1 開始計數,而非從 0 開始。
RunningValue 傳回表達式所指定之所有非 Null 數值的執行匯總,針對指定的範圍進行評估。

獲取行計數

下列內建函數會計算指定範圍中的數據列數目。 使用此函式來計算所有數據列,包括具有 Null 值的數據列。

功能 說明
CountRows 傳回指定範圍中的數據列數目,包括具有 Null 值的數據列。

查找另一個數據集中的值

下列查閱函式會從指定的數據集擷取值。

功能 說明
查找函數 從指定表達式的數據集傳回值。
LookupSet 函式 從數據集傳回指定表達式的一組值。
Multilookup 函式 從包含名稱/值組的數據集傳回一組名稱的第一個比對值集合。

擷取 Sort-Dependent 值

下列內建函式會傳回指定範圍內第一個、最後一個或先前的值。 這些函式取決於數據值的排序順序。 例如,使用這些函式來尋找頁面上的第一個和最後一個值,以建立字典樣式的頁首。 例如,使用 Previous 來比較一個數據列中的值與特定範圍內上一個數據列的值,以尋找數據表中年份的百分比年份值。

功能 說明
第一個 傳回指定表示式指定範圍中的第一個值。
上次 傳回指定表示式指定範圍中的最後一個值。
以前 傳回指定範圍內專案上一個實例的值或指定的匯總值。

擷取伺服器匯總

下列內建函式會從數據提供者擷取自定義匯總。 例如,使用 Analysis Services 數據源類型,您可以擷取數據源伺服器上計算的匯總,以用於群組標頭。

功能 說明
彙總 傳回指定表達式的自定義匯總,如數據提供者所定義。

範圍測試

下列內建函式會測試報表專案的目前內容,以查看它是否為特定範圍的成員。

功能 說明
InScope 指出專案目前的實例是否在指定的範圍內。

擷取遞歸層級

下列內建函式會在處理遞歸階層時擷取目前的層級。 使用這個函式的結果搭配 Padding 文本框中的 屬性,以控制遞歸群組視覺階層的縮排層級。 如需詳細資訊,請參閱建立遞歸階層群組(報表產生器及 SSRS)。

功能 說明
等級 傳回遞歸階層中的目前深度層級。

另請參閱

報表中的運算式用法 (報表產生器及 SSRS)
運算式範例 (報表產生器及 SSRS)
總計、匯總和內建集合的表達式範圍(報表產生器及 SSRS)