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