グループ式の例 (Reporting Services)
データ領域では、1 つのフィールドでデータをグループ化することも、グループ化の基準となるデータを識別する、より複雑な式を作成することもできます。複合式には、複数のフィールドやパラメータ、条件ステートメント、またはカスタム コードなどへの参照が含まれます。データ領域に対してグループを定義する場合、これらの式を [グループ] プロパティに追加します。詳細については、「データ領域でグループを追加または削除する方法 (Reporting Services)」を参照してください。
簡単なフィールド式に基づく 2 つ以上のグループをマージするには、各フィールドをグループ定義のグループ式一覧に追加します。
グループ式の例
次の表に、グループの定義に使用できるグループ式の例を挙げます。
説明 |
式 |
---|---|
Region フィールドでグループ化します。 |
=Fields!Region.Value |
姓と名でグループ化します。 |
=Fields!LastName.Value =Fields!FirstName.Value |
姓の最初の文字でグループ化します。 |
=Fields!LastName.Value.Substring(0,1) |
ユーザー選択に基づいてパラメータでグループ化します。 この例では GroupBy パラメータは、グループ化に使用する有効な選択肢を提供する使用可能な値の一覧に基づいている必要があります。 |
=Fields(Parameters!GroupBy.Value).Value |
3 つの異なるの年齢範囲でグループ化します。 "21 未満"、"21 ~ 50"、および "51 以上"。 |
=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 以下 26 ~ 50 51 ~ 75 76 以上 |
=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 |
カスタム コードの詳細については、「式でのカスタム コード参照の使用 (Reporting Services)」を参照してください。