彙總函式參考 (報表產生器及 SSRS)
若要在報表中加入彙總值,您可以在運算式中使用內建彙總函式。 數值欄位的預設彙總函式是 SUM。 您可以編輯運算式,並使用不同的內建彙總函式或指定不同的範圍。 範圍會識別用於計算的資料集。
當報表處理器結合報表資料和報表配置時,將會評估每一個報表項目的運算式。 當您檢視報表的每一頁時,您會在轉譯的報表項目中看到每一個運算式的結果。
下表列出可以包含在運算式中的內建函數類別:
內建彙總函式
內建欄位、集合和彙總函式的限制
巢狀彙總的限制
計算執行值
擷取資料列計數
從其他資料集查詢值
擷取與排序相依的值
擷取伺服器彙總
擷取遞迴層級
測試範圍
若要決定函數的有效範圍,請參閱個別的函數參考主題。 如需詳細資訊和範例,請參閱<總計、彙總與內建集合的運算式範圍 (報表產生器及 SSRS)>。
[!附註]
您可以在報表產生器以及 SQL Server Data Tools 的報表設計師中建立和修改報表定義 (.rdl)。每種撰寫環境都會提供不同的方式來建立、開啟和儲存報表與相關的項目。如需詳細資訊,請參閱 microsoft.com 網站上的<在報表設計師及報表產生器中設計報表 (SSRS)>。
內建彙總函式
下列內建函數會針對預設範圍或具名範圍,計算非 Null 數值資料集的摘要值。
函數 |
說明 |
---|---|
傳回運算式指定的所有非 Null 數值的平均值 (在給定範圍中評估)。 |
|
傳回運算式指定的非 Null 值的計數 (在給定範圍的內容中評估)。 |
|
傳回運算式指定的所有非 Null 相異值的計數 (在給定範圍的內容中評估)。 |
|
傳回運算式指定的所有非 Null 數值的最大值 (在給定範圍的內容中)。 這個函數可用來指定圖表軸的最大值以控制刻度。 |
|
傳回運算式指定的所有非 Null 數值的最小值 (在給定範圍的內容中)。 這個函數可用來指定圖表軸的最小值以控制刻度。 |
|
傳回運算式指定的所有非 Null 數值的標準差 (在給定範圍中評估)。 |
|
傳回運算式指定的所有非 Null 數值的母體標準差 (在給定範圍的內容中評估)。 |
|
傳回運算式指定之所有非 Null 數值的總和 (在給定範圍中評估)。 |
|
傳回運算式所指定之 SqlGeometry 或 SqlGeography 類型的所有非 Null 空間資料值聯集 (在給定的範圍中評估)。 |
|
傳回運算式指定的所有非 Null 數值的變異數 (在給定範圍中評估)。 |
|
傳回運算式指定的所有非 Null 數值的母體擴展變異數 (在給定範圍的內容中評估)。 |
回到頁首
內建欄位、集合和彙總函式的限制
下表摘要列出您可以加入運算式之報表位置的限制,該運算式包含全域內建集合的參考。
報表中的位置 |
欄位 |
參數 |
ReportItems |
PageNumber TotalPages |
DataSource DataSet |
變數 |
RenderFormat |
---|---|---|---|---|---|---|---|
頁首 頁尾 |
是 |
是 |
最多一個 附註 1 |
是 |
是 |
是 |
是 |
本文 |
是 附註 2 |
是 |
只有目前範圍或包含範圍內的項目 附註 3 |
否 |
是 |
是 |
是 |
報表參數 |
否 |
只有清單中稍早的參數 附註 4 |
否 |
否 |
否 |
否 |
否 |
欄位 |
是 |
是 |
否 |
否 |
否 |
否 |
否 |
查詢參數 |
否 |
是 |
否 |
否 |
否 |
否 |
否 |
群組運算式 |
是 |
是 |
否 |
否 |
是 |
否 |
否 |
排序運算式 |
是 |
是 |
否 |
否 |
是 |
是 附註 5 |
否 |
篩選運算式 |
是 |
是 |
否 |
否 |
是 |
是 附註 6 |
否 |
程式碼 |
否 |
是 附註 7 |
否 |
否 |
否 |
否 |
否 |
報表語言 |
否 |
是 |
否 |
否 |
否 |
否 |
否 |
變數 |
是 |
是 |
否 |
否 |
是 |
目前範圍或包含的範圍 |
否 |
彙總 |
是 |
是 |
只有在頁首和頁尾 |
只有在報表項目彙總內 |
是 |
否 |
否 |
查閱函數 |
是 |
是 |
是 |
否 |
是 |
否 |
否 |
**附註 1:**ReportItems 必須存在於轉譯的報表頁面中,否則其值會是 Null。 如果報表項目的可見性取決於評估為 False 的運算式,則表示報表項目不存在於頁面上。
**附註 2:**如果欄位參考用於群組範圍中,而且欄位參考未包含在群組運算式中,則表示未定義該欄位的值,除非此範圍內只有一個值。 若要指定值,請使用 First 或 Last 及群組範圍。
**附註 3:**包含 ReportItems 之參考的運算式可以針對相同群組範圍或包含的群組範圍內的其他 ReportItems 指定值。
**附註 4:**之前參數的屬性值可能為 null。
**附註 5:**僅限成員排序。 無法在資料區排序運算式內使用。
**附註 6:**僅限成員篩選。 無法在資料區或資料集篩選運算式內使用。
**附註 7:**要等到處理程式碼區塊之後,才可以初始化參數集合,所以無法使用方法來控制初始化的參數。
**附註 8:**對於所有值而言,所有彙總 (Count 和 CountDistinct 除外) 的資料類型都必須是相同的資料類型或 null。
回到頁首
巢狀彙總的限制
下表摘要列出彙總函式可以將其他彙總函式指定為巢狀彙總的限制。
內容 |
RunningValue |
RowNumber |
First 最後一個 |
Previous |
Sum 和其他 Presort 函數 |
ReportItem 彙總 |
查閱函數 |
彙總函式 |
---|---|---|---|---|---|---|---|---|
執行中的值 |
否 |
否 |
否 |
否 |
是 |
否 |
是 |
否 |
第一個 最後一個 |
否 |
否 |
否 |
否 |
是 |
否 |
否 |
否 |
Previous |
是 |
是 |
是 |
否 |
是 |
否 |
是 |
否 |
Sum 和其他 Presort 函數 |
否 |
否 |
否 |
否 |
是 |
否 |
是 |
否 |
ReportItem 彙總 |
否 |
否 |
否 |
否 |
否 |
否 |
否 |
否 |
查閱函數 |
是 |
是 附註 1 |
是 附註 1 |
是 附註 1 |
是 附註 1 |
是 附註 1 |
否 |
否 |
彙總函式 |
否 |
否 |
否 |
否 |
否 |
否 |
否 |
否 |
- **附註 1:**如果查閱函數未包含在彙總內,則只有查閱函數的 Source 運算式內才允許彙總函式。 查閱函數的 Destination 或 Result 運算式內不允許彙總函式。
回到頁首
計算執行值
下列的內建函數會計算資料集的執行值。 RowNumber 與 RunningValue 類似,會傳回累加包含範圍內每個資料列的計數執行值。 這些函數的範圍參數必須指定包含範圍,這個範圍控制何時重新開始計數。
函數 |
說明 |
---|---|
傳回指定範圍中資料列數的執行計數。 RowNumber 函數從 1 開始重新計數,而不是 0。 |
|
傳回運算式指定的所有非 Null 數值的執行彙總 (在給定範圍中評估)。 |
回到頁首
擷取資料列計數
下列的內建函數會計算給定範圍中的資料列數。 這個函數可用來計算所有資料列的數目,包括具有 Null 值的資料列。
函數 |
說明 |
---|---|
傳回指定之範圍中的資料列數目,包括具有 Null 值的資料列。 |
回到頁首
從其他資料集查詢值
下列查閱函數會從指定的資料集擷取值。
函數 |
說明 |
---|---|
從指定之運算式的資料集傳回值。 |
|
從指定之運算式的資料集傳回一組值。 |
|
從包含名稱/值組的資料集傳回第一組符合某一組名稱的值。 |
回到頁首
擷取與排序相依的值
下列的內建函數會傳回給定範圍內的第一個、最後一個或上一個值。 這些函數會視資料值的排序次序而定。 舉例而言,這些函數可用來尋找頁面上的第一個和最後一個值,以建立字典樣式的頁首。 Previous 可用來比較特定範圍內一個資料列的值與上一個資料列的值,以在資料表中找出年的成長百分比。
函數 |
說明 |
---|---|
傳回所指定運算式給定範圍中的第一個值。 |
|
傳回所指定運算式給定範圍中的最後一個值。 |
|
傳回某個項目在指定之範圍內上一個執行個體的值或指定的彙總值。 |
回到頁首
擷取伺服器彙總
下列的內建函數將從資料提供者擷取自訂彙總。 例如,您可以使用 Analysis Services 資料來源類型擷取在資料來源伺服器上計算的彙總,以用於群組頁首。
函數 |
說明 |
---|---|
傳回指定之運算式的自訂彙總,由資料提供者定義。 |
回到頁首
測試範圍
下列的內建函數會測試報表項目目前的內容,查看是否為特定範圍的成員。
函數 |
說明 |
---|---|
指出目前項目的執行個體是否在指定的範圍內。 |
回到頁首
擷取遞迴層級
下列的內建函數會在系統處理遞迴階層時,擷取目前的層級。 在文字方塊中以 Padding 屬性使用此函數的結果,即可控制遞迴群組視覺階層的縮排層級。 如需詳細資訊,請參閱<建立多個遞迴階層群組 (報表產生器 3.0 及 SSRS)>。
函數 |
說明 |
---|---|
傳回遞迴階層中之目前所在的層級。 |
回到頁首