组表达式示例 (Reporting Services)

在数据区域中,可以按单个字段对数据进行分组,也可以创建标识要对其进行分组的数据的更复杂表达式。复杂表达式包含对多个字段或参数、条件语句或自定义代码的引用。定义数据区域组时,可以将这些表达式添加到**“组”**属性中。有关详细信息,请参阅如何在数据区域中添加或删除组 (Reporting Services)

若要合并两个或多个基于简单字段表达式的组,请将每个字段都添加到组定义中的组表达式列表中。

组表达式示例

下表提供了可用于定义组的组表达式示例。

说明

表达式

按 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

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

有关自定义代码的详细信息,请参阅在表达式中使用自定义代码引用 (Reporting Services)