在數據區域中,您可以依單一欄位分組數據,或建立更複雜的運算式,以識別要分組的數據。 複雜表達式包含多個字段或參數、條件語句或自定義程式碼的參考。 當您定義資料區域的群組時,您會將這些表示式新增至 Group 屬性。 如需詳細資訊,請參閱在數據區中新增或刪除群組(報表產生器及 SSRS)。
若要合併以簡單欄位表示式為基礎的兩個或多個群組,請將每個欄位新增至群組定義中的群組表達式清單。
備註
您可以在報表產生器及 SQL Server Data Tools 的報表設計師中建立和修改報表定義 (.rdl)。 每個撰寫環境提供不同的方式來建立、開啟及儲存報表和相關專案。 如需詳細資訊,請至 microsoft.com 網站上查看 報表設計師和報表產生器 (SSRS) 的報表設計。
群組表達式的範例
下表提供可用來定義群組的群組表達式範例。
| 說明 | 表現 |
|---|---|
依 Region 欄位分組。 |
=Fields!Region.Value |
| 依姓氏和名字分組。 | =Fields!LastName.Value=Fields!FirstName.Value |
| 依姓氏的第一個字母分組。 | =Fields!LastName.Value.Substring(0,1) |
| 根據使用者的選擇,依參數分組。 在此範例中,參數 GroupBy 必須以可用的值清單為基礎,以提供有效的群組選擇。 |
=Fields(Parameters!GroupBy.Value).Value |
| 依三個不同的年齡範圍分組: “21 歲以下”、“介於 21 到 50 之間”和 “超過 50”。 |
=IIF(First(Fields!Age.Value)<21,"Under 21",(IIF(First(Fields!Age.Value)>=21 AND First(Fields!Age.Value)<=50,"Between 21 and 50","Over 50"))) |
| 依多個年齡範圍分組。 此範例示範以 Visual Basic .NET 撰寫的自定義程式代碼,其會傳回下列範圍的字串: 25 或下 26 到 50 51 到 75 超過 75 |
=Code.GetRangeValueByAge(Fields!Age.Value)自訂程式代碼: Function GetRangeValueByAge(ByVal age As Integer) As StringSelect Case ageCase 0 To 25GetRangeValueByByAge = "25 or Under"Case 26 To 50GetRangeValueByByAge = "26 to 50"Case 51 to 75GetRangeValueByByAge = "51 to 75"Case ElseGetRangeValueByByAge = "Over 75"End SelectReturn GetRangeValueByByAgeEnd Function |
另請參閱
篩選、分組和排序資料 (報表產生器及 SSRS)
運算式範例 (報表產生器及 SSRS)
報表設計師中表示式中的自訂程式代碼和元件參考 (SSRS)