分页报表中的组表达式示例(报表生成器)
适用于: Microsoft 报表生成器 (SSRS) Power BI 报表生成器 SQL Server Data Tools 中的报表生成器
在分页报表的数据区域中,可以按单个字段对数据进行分组,也可以创建可标识要对其进行分组的数据的更复杂表达式。 复杂表达式包含对多个字段或参数、条件语句或自定义代码的引用。 定义数据区域组时,可以将这些表达式添加到 “组” 属性中。 有关详细信息,请参阅在数据区域中添加或删除组(报表生成器和 SSRS)。
若要合并两个或多个基于简单字段表达式的组,请将每个字段都添加到组定义中的组表达式列表中。
注意
在 SQL Server Data Tools 中,你可以在 Microsoft 报表生成器、Power BI 报表生成器和报表设计器中创建和修改分页报表定义 (.rdl) 文件。
组表达式示例
下表提供了可用于定义组的组表达式示例。
说明 | 表达式 |
---|---|
按 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 |