共用方式為


彙總函式參考 (報表產生器及 SSRS)

若要在報表中加入彙總值,您可以在運算式中使用內建彙總函式。 數值欄位的預設彙總函式是 SUM。 您可以編輯運算式,並使用不同的內建彙總函式或指定不同的範圍。 範圍會識別用於計算的資料集。

當報表處理器結合報表資料和報表配置時,將會評估每一個報表項目的運算式。 當您檢視報表的每一頁時,您會在轉譯的報表項目中看到每一個運算式的結果。

下表列出可以包含在運算式中的內建函數類別:

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

注意

您可以在報表產生器以及 SQL Server Data Tools 的報表設計師中建立和修改報表定義 (.rdl)。 每種撰寫環境都會提供不同的方式來建立、開啟和儲存報表與相關的項目。 如需詳細資訊,請參閱在 Web 上設計報表設計師和Report Builder (SSRS) 的報表microsoft.com。

內建彙總函式

下列內建函數會針對預設範圍或具名範圍,計算非 Null 數值資料集的摘要值。

Function 說明
Avg 傳回運算式指定的所有非 Null 數值的平均值 (在給定範圍中評估)。
Count 傳回運算式指定的非 Null 值的計數 (在給定範圍的內容中評估)。
CountDistinct 傳回運算式指定的所有非 Null 相異值的計數 (在給定範圍的內容中評估)。
Max 傳回運算式指定的所有非 Null 數值的最大值 (在給定範圍的內容中)。 這個函數可用來指定圖表軸的最大值以控制刻度。
Min 傳回運算式指定的所有非 Null 數值的最小值 (在給定範圍的內容中)。 這個函數可用來指定圖表軸的最小值以控制刻度。
StDev 傳回運算式指定的所有非 Null 數值的標準差 (在給定範圍中評估)。
StDevP 傳回運算式指定的所有非 Null 數值的母體標準差 (在給定範圍的內容中評估)。
Sum 傳回運算式指定之所有非 Null 數值的總和 (在給定範圍中評估)。
Union 傳回運算式所指定之 SqlGeometrySqlGeography 類型的所有非 Null 空間資料值聯集 (在給定的範圍中評估)。
Var 傳回運算式指定的所有非 Null 數值的變異數 (在給定範圍中評估)。
VarP 傳回運算式指定的所有非 Null 數值的母體擴展變異數 (在給定範圍的內容中評估)。

內建欄位、集合和彙總函式的限制

下表摘要列出您可以加入運算式之報表位置的限制,該運算式包含全域內建集合的參考。

報表中的位置 欄位 參數 ReportItems PageNumber

TotalPages
DataSource

DataSet
變數 RenderFormat
頁首

頁尾
最多一個

附註 1
Yes
body

附註 2
只有目前範圍或包含範圍內的項目

附註 3
Yes
報表參數 只有清單中稍早的參數

附註 4
No No No
欄位 No No No No
查詢參數 No No No No
群組運算式 No No No
排序運算式 No No Yes

附註 5
篩選運算式 No No Yes

附註 6
程式碼

附註 7
No No No
報表語言 No No No No
變數 No No 目前範圍或包含的範圍
彙總 只有在頁首和頁尾 只有在報表項目彙總內 No
查閱函數 No No No
  • 附註 1: ReportItems 必須存在於轉譯的報表頁面中,否則其值會是 Null。 如果報表項目的可見性取決於評估為 False 的運算式,則表示報表項目不存在於頁面上。

  • 附註 2。 如果欄位參考用於群組範圍中,而且欄位參考未包含在群組運算式中,則表示未定義該欄位的值,除非此範圍內只有一個值。 若要指定值,請使用 First 或 Last 及群組範圍。

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

  • 附註 4。 之前參數的屬性值可能為 null。

  • 附註 5。 僅限成員排序。 無法在資料區排序運算式內使用。

  • 附註 6。 僅限成員篩選。 無法在資料區或資料集篩選運算式內使用。

  • 附註 7。 處理程式碼區塊之前沒有初始化參數集合,所以無法使用方法來控制初始化的參數。

  • 附註 8。 除了 Count 與 CountDistinct 以外的所有彙總之資料類型,所有的值都必須是相同的資料類型或 null。

巢狀彙總的限制

下表摘要列出彙總函式可以將其他彙總函式指定為巢狀彙總的限制。

Context RunningValue RowNumber First

Last
Previous Sum 和其他 Presort 函數 ReportItem 彙總 查閱函數 彙總函式
執行中的值 No No No No
First

Last
No No No No No
Previous No No
Sum 和其他 Presort 函數 No No No No
ReportItem 彙總 No No No No No No
查閱函數

附註 1


附註 1


附註 1


附註 1


附註 1
彙總函式 No No No No No No No
  • 附註 1: 如果查閱函數未包含在彙總內,則只有查閱函數的 Source 運算式中才允許彙總函式。 查閱函數的 DestinationResult 運算式內不允許彙總函式。

計算執行值

下列的內建函數會計算資料集的執行值。 RowNumberRunningValue 類似,會傳回累加包含範圍內每個資料列的計數執行值。 這些函數的範圍參數必須指定包含範圍,這個範圍控制何時重新開始計數。

Function 說明
RowNumber 傳回指定範圍中資料列數的執行計數。 RowNumber 函數從 1 開始重新計數,而不是 0。
RunningValue 傳回運算式指定的所有非 Null 數值的執行彙總 (在給定範圍中評估)。

擷取資料列計數

下列的內建函數會計算給定範圍中的資料列數。 這個函數可用來計算所有資料列的數目,包括具有 Null 值的資料列。

Function 說明
CountRows 傳回指定之範圍中的資料列數目,包括具有 Null 值的資料列。

從其他資料集查詢值

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

Function 說明
Lookup 函數 從指定之運算式的資料集傳回值。
LookupSet 函式 從指定之運算式的資料集傳回一組值。
Multilookup 函式 從包含名稱/值組的資料集傳回第一組符合某一組名稱的值。

擷取與排序相依的值

下列的內建函數會傳回給定範圍內的第一個、最後一個或上一個值。 這些函數會視資料值的排序次序而定。 舉例而言,這些函數可用來尋找頁面上的第一個和最後一個值,以建立字典樣式的頁首。 Previous 可用來比較特定範圍內一個資料列的值與上一個資料列的值,以在資料表中找出年的成長百分比。

Function 說明
第一個 傳回所指定運算式給定範圍中的第一個值。
最後一個 傳回所指定運算式給定範圍中的最後一個值。
[上一步] 傳回某個項目在指定之範圍內上一個執行個體的值或指定的彙總值。

擷取伺服器彙總

下列的內建函數將從資料提供者擷取自訂彙總。 例如,您可以使用 Analysis Services 資料來源類型擷取在資料來源伺服器上計算的彙總,以用於群組標頭。

Function 說明
彙總 傳回指定之運算式的自訂彙總,由資料提供者定義。

測試範圍

下列的內建函數會測試報表項目目前的內容,查看是否為特定範圍的成員。

函式 說明
InScope 指出目前項目的執行個體是否在指定的範圍內。

擷取遞迴層級

下列的內建函數會在系統處理遞迴階層時,擷取目前的層級。 在文字方塊中以 Padding 屬性使用此函數的結果,即可控制遞迴群組視覺階層的縮排層級。 如需詳細資訊,請參閱建立遞迴階層群組 (報表產生器和 SSRS)

函式 說明
Level 傳回遞迴階層中之目前所在的層級。

另請參閱

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