群組運算式範例 (報表產生器及 SSRS)

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