若要在報表中包含匯總值,您可以在表達式中使用內建聚合函數。 數值欄位的預設聚合函數為 SUM。 您可以編輯表達式,並使用不同的內建聚合函數,或指定不同的範圍。 範圍會識別要用於計算的數據集。
當報表處理器結合報表數據和報表配置時,會評估每個報表項目的表達式。 當您檢視報表的每個頁面時,您會在轉譯的報表項目中看到每個表達式的結果。
下表列出您可以在表示式中包含之內建函式的類別:
從另一個數據集中查找值
若要判斷函式的有效範圍,請參閱個別函式參考主題。 如需詳細資訊和範例,請參閱總計、匯總和內建集合的運算式範圍(報表產生器及 SSRS)。
備註
您可以在報表產生器及 SQL Server Data Tools 的報表設計師中建立和修改報表定義 (.rdl)。 每個撰寫環境提供不同的方式來建立、開啟及儲存報表和相關專案。 如需詳細資訊,請至 microsoft.com 網站上查看 報表設計師和報表產生器 (SSRS) 的報表設計。
內建聚合函數
下列內建函數會計算預設範圍或具名範圍中一組非 Null 數值數據的摘要值。
| 功能 | 說明 |
|---|---|
| Avg | 傳回表達式所指定之所有非 Null 數值的平均值,在指定範圍中評估。 |
| 計數 | 傳回表達式所指定的非 Null 值計數,該值是在指定範圍的內容中評估的。 |
| CountDistinct | 傳回表達式所指定之所有相異非 Null 值的計數,該值是在指定範圍的內容中評估的。 |
| 麥克斯 | 傳回指定範圍內容中表達式所指定之所有非 Null 數值的最大值。 您可以使用此功能來指定圖表軸的最大值以控制比例尺。 |
| 最小值 | 傳回指定範圍內容中表達式所指定之所有非 Null 數值的最小值。 您可以使用此功能來指定圖表座標軸的最小值,以調整比例尺。 |
| StDev | 傳回表達式所指定之所有非 Null 數值的標準偏差,在指定範圍中評估。 |
| StDevP | 傳回表達式所指定的所有非 Null 數值的母體標準差,這些數值是在特定範圍的上下文中進行評估的。 |
| 總和 | 傳回所有在指定範圍內評估的非 Null 數值的總和,這些數值由表達式指定。 |
| 聯盟 | 傳回類型 SqlGeometry 或 SqlGeography 表達式所指定之所有非 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 運算式內。 查閱函式的 Destination 或 Result 運算式內不允許聚合函數。
計算執行中的值
下列內建函數會計算一組數據的執行值。
RowNumber 就像 RunningValue 一樣,會回傳在包含範圍中每一列資料遞增的計數累計值。 這些函式的範圍參數必須指定一個包含範圍,以控制計數從何時重新計數開始。
| 功能 | 說明 |
|---|---|
| RowNumber | 傳回指定範圍中行數的累計值。 函數RowNumber從 1 開始計數,而非從 0 開始。 |
| RunningValue | 傳回表達式所指定之所有非 Null 數值的執行匯總,針對指定的範圍進行評估。 |
獲取行計數
下列內建函數會計算指定範圍中的數據列數目。 使用此函式來計算所有數據列,包括具有 Null 值的數據列。
| 功能 | 說明 |
|---|---|
| CountRows | 傳回指定範圍中的數據列數目,包括具有 Null 值的數據列。 |
查找另一個數據集中的值
下列查閱函式會從指定的數據集擷取值。
| 功能 | 說明 |
|---|---|
| 查找函數 | 從指定表達式的數據集傳回值。 |
| LookupSet 函式 | 從數據集傳回指定表達式的一組值。 |
| Multilookup 函式 | 從包含名稱/值組的數據集傳回一組名稱的第一個比對值集合。 |
擷取 Sort-Dependent 值
下列內建函式會傳回指定範圍內第一個、最後一個或先前的值。 這些函式取決於數據值的排序順序。 例如,使用這些函式來尋找頁面上的第一個和最後一個值,以建立字典樣式的頁首。 例如,使用 Previous 來比較一個數據列中的值與特定範圍內上一個數據列的值,以尋找數據表中年份的百分比年份值。
| 功能 | 說明 |
|---|---|
| 第一個 | 傳回指定表示式指定範圍中的第一個值。 |
| 上次 | 傳回指定表示式指定範圍中的最後一個值。 |
| 以前 | 傳回指定範圍內專案上一個實例的值或指定的匯總值。 |
擷取伺服器匯總
下列內建函式會從數據提供者擷取自定義匯總。 例如,使用 Analysis Services 數據源類型,您可以擷取數據源伺服器上計算的匯總,以用於群組標頭。
| 功能 | 說明 |
|---|---|
| 彙總 | 傳回指定表達式的自定義匯總,如數據提供者所定義。 |
範圍測試
下列內建函式會測試報表專案的目前內容,以查看它是否為特定範圍的成員。
| 功能 | 說明 |
|---|---|
| InScope | 指出專案目前的實例是否在指定的範圍內。 |
擷取遞歸層級
下列內建函式會在處理遞歸階層時擷取目前的層級。 使用這個函式的結果搭配 Padding 文本框中的 屬性,以控制遞歸群組視覺階層的縮排層級。 如需詳細資訊,請參閱建立遞歸階層群組(報表產生器及 SSRS)。
| 功能 | 說明 |
|---|---|
| 等級 | 傳回遞歸階層中的目前深度層級。 |
另請參閱
報表中的運算式用法 (報表產生器及 SSRS)
運算式範例 (報表產生器及 SSRS)
總計、匯總和內建集合的表達式範圍(報表產生器及 SSRS)