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

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

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

下表列出您可以併入運算式的內建函數類別目錄:

  • 內建彙總函式

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

  • 巢狀彙總的限制

  • 計算執行值

  • 擷取資料列計數

  • 從其他資料集查詢值

  • 擷取與排序相依的值

  • 擷取伺服器彙總

  • 擷取遞迴層級

  • 測試範圍

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

[!附註]

您可以在 Business Intelligence Development Studio 中的報表產生器 3.0 及報表設計師中建立及修改報表定義 (.rdl)。每一個撰寫環境都提供了不同的方式讓您建立、開啟,以及儲存報表和相關的項目。如需詳細資訊,請參閱在報表設計師及報表產生器 3.0 (SSRS) 中設計報表,位於 microsoft.com 網站上。

內建彙總函式

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

函數

說明

Avg

傳回運算式指定的所有非 Null 數值的平均值 (在給定範圍中評估)。

Count

傳回運算式指定的非 Null 值的計數 (在給定範圍的內容中評估)。

CountDistinct

傳回運算式指定的所有非 Null 相異值的計數 (在給定範圍的內容中評估)。

Max

傳回運算式指定的所有非 Null 數值的最大值 (在給定範圍的內容中)。這個函數可用來指定圖表軸的最大值以控制刻度。

Min

傳回運算式指定的所有非 Null 數值的最小值 (在給定範圍的內容中)。這個函數可用來指定圖表軸的最小值以控制刻度。

StDev

傳回運算式指定的所有非 Null 數值的標準差 (在給定範圍中評估)。

StDevP

傳回運算式指定的所有非 Null 數值的母體標準差 (在給定範圍的內容中評估)。

Sum

傳回運算式指定之所有非 Null 數值的總和 (在給定範圍中評估)。

Union

傳回運算式所指定之 SqlGeometry 或 SqlGeography 類型的所有非 Null 空間資料值聯集 (在給定的範圍中評估)。

Var

傳回運算式指定的所有非 Null 數值的變異數 (在給定範圍中評估)。

VarP

傳回運算式指定的所有非 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

Last

Previous

Sum 和其他 Presort 函數

ReportItem 彙總

查閱函數

彙總函式

執行中的值

First

Last

Previous

Sum 和其他 Presort 函數

ReportItem 彙總

查閱函數

附註 1

附註 1

附註 1

附註 1

附註 1

彙總函式

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

搭配回到頁首連結使用的箭頭圖示回到頁首

計算執行值

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

函數

說明

RowNumber

傳回指定範圍中資料列數的執行計數。RowNumber 函數從 1 開始重新計數,而不是 0。

RunningValue

傳回運算式指定的所有非 Null 數值的執行彙總 (在給定範圍中評估)。

搭配回到頁首連結使用的箭頭圖示回到頁首

擷取資料列計數

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

函數

說明

CountRows

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

搭配回到頁首連結使用的箭頭圖示回到頁首

從其他資料集查詢值

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

函數

說明

Lookup 函數

從指定之運算式的資料集傳回值。

LookupSet 函數

從指定之運算式的資料集傳回一組值。

Multilookup 函數

從包含名稱/值組的資料集傳回第一組符合某一組名稱的值。

搭配回到頁首連結使用的箭頭圖示回到頁首

擷取與排序相依的值

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

函數

說明

First

傳回所指定運算式給定範圍中的第一個值。

Last

傳回所指定運算式給定範圍中的最後一個值。

Previous

傳回某個項目在指定之範圍內上一個執行個體的值或指定的彙總值。

搭配回到頁首連結使用的箭頭圖示回到頁首

擷取伺服器彙總

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

函數

說明

Aggregate

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

搭配回到頁首連結使用的箭頭圖示回到頁首

測試範圍

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

函數

說明

InScope

指出目前項目的執行個體是否在指定的範圍內。

搭配回到頁首連結使用的箭頭圖示回到頁首

擷取遞迴層級

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

函數

說明

Level

傳回遞迴階層中之目前所在的層級。

搭配回到頁首連結使用的箭頭圖示回到頁首