群組運算式範例 (報表產生器 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 |