編頁報表中的群組運算式範例 (報表產生器)

適用於:✅Microsoft 報表產生器 (SSRS) ✅ Power BI 報表產生器 ✅ SQL Server Data Tools 中的報表設計師

在編頁報表的資料區中,您可以依據單一欄位來分組資料,或是建立較為複雜的運算式來識別要分組的資料。 複雜運算式包含了多個欄位或參數、條件陳述式或自訂程式碼的參考。 當您為資料區定義群組時,您會將這些運算式加入到 [群組] 屬性。 如需詳細資訊,請參閱在資料區中新增或刪除群組 (報表產生器和 SSRS)

若要合併根據簡單欄位運算式的兩個或多個群組,請將每一個欄位加入到群組定義中的群組運算式清單。

注意

您可以在 Microsoft 報表產生器、Power BI 報表產生器,以及 SQL Server Data Tools 的報表設計師中,建立及修改編頁報表定義 (.rdl) 檔案。

群組運算式的範例

下表提供您可用來定義群組的群組運算式範例。

描述 運算是
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 歲或 25 歲以下

26 歲到 50 歲

51 歲到 75 歲

超過 75 歲
=Code.GetRangeValueByAge(Fields!Age.Value)

自訂程式碼:

Function GetRangeValueByAge(ByVal age As Integer) As String

Select Case age

Case 0 To 25

GetRangeValueByByAge = "25 or Under"

Case 26 To 50

GetRangeValueByByAge = "26 to 50"

Case 51 to 75

GetRangeValueByByAge = "51 to 75"

Case Else

GetRangeValueByByAge = "Over 75"

End Select

Return GetRangeValueByByAge

End Function

另請參閱

篩選、分組和排序資料 (報表產生器及 SSRS)
運算式範例 (報表產生器及 SSRS)
報表產生器中運算式的自訂程式碼及組件參考 (SSRS)