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

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

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

[!附註]

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

群組運算式的範例

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

說明

運算式

依 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