Aggregate 函数(报表生成器和 SSRS)
按照数据访问接口的定义返回指定表达式的自定义聚合。
注意
在 SQL Server Data Tools 中,您可以在报表生成器和报表设计器中创建和修改报表定义 (.rdl)。 每个创作环境提供了不同的方式来创建、打开和保存报表和相关项。 有关详细信息,请参阅 Web 上 microsoft.com 中的“在报表设计器和报表生成器中设计报表 (SSRS)”。
语法
Aggregate(expression, scope)
参数
expression
要对其执行聚合的表达式。 该表达式必须是简单字段引用表达式。
作用域
(String
) 包含要对其应用聚合函数的报表项的数据集、组或数据区域的名称。 Scope 必须是字符串常量,且不能是表达式。 如果未指定 scope ,则使用当前作用域。
返回类型
返回类型视数据访问接口而定。 如果数据访问接口不支持此函数或数据不可用,则返回 Nothing
。
注解
Aggregate
函数提供一种方式来使用对外部数据源计算的聚合。 是否支持此功能由数据扩展插件决定。 例如,SQL Server Analysis Services 数据处理扩展插件从 MDX 查询中检索平展行集。 结果集中的某些行可能包含在数据源服务器上计算的聚合值。 这些聚合值称为“服务器聚合” 。 若要在 Analysis Services 的图形查询设计器中查看服务器聚合,可以使用工具栏上的“显示聚合”按钮。 有关详细信息,请参阅 Analysis Services MDX 查询设计器用户界面(报表生成器)。
在 Tablix 数据区域的详细信息行中显示聚合和详细信息数据集值的组合时,服务器聚合通常不会包括在内,因为它们不是详细信息数据。 但是,您可能希望显示从该数据集中检索到的所有值,并自定义聚合数据的计算方式和显示方式。
Reporting Services在报表的表达式中检测函数的使用Aggregate
,以确定是否在详细信息行上显示服务器聚合。 如果在数据区域中的表达式中包含 Aggregate
,服务器聚合只能出现在组总计行或总计行中,而不会出现在详细信息行中。 如果您希望在详细信息行中显示服务器聚合,请不要使用 Aggregate
函数。
可以通过更改 “将小计行解释为详细信息” 选项(位于 “数据集属性” 对话框)的值,来更改此默认行为。 此选项设置为 True
时,包括服务器聚合在内的所有数据都会显示为详细信息数据。 当设置为 False
时,服务器聚合显示为总计。 此属性的设置影响链接到此数据集的所有数据区域。
注意
引用 Aggregate
的报表项所包含的所有组都必须具有其组表达式的简单字段引用,例如,[FieldName]
。 您不能在使用复杂组表达式的数据区域中使用 Aggregate
。 对于 SQL ServerAnalysis Services 数据处理扩展插件,查询必须包含类型 LevelProperty
(不 MemberProperty
) 的 MDX 字段,以支持使用 函数进行 Aggregate
聚合。
Expression 可以包含对嵌套聚合函数的调用,但具有以下例外和条件:
嵌套聚合的Scope 必须与外部聚合的作用域相同,或者包含在外部聚合的作用域中。 对于表达式中的所有非重复作用域,一个作用域必须相对所有其他作用域处于子关系中。
嵌套聚合的Scope 不能为数据集的名称。
表达式 不得包含
First
、Last
、Previous
或RunningValue
函数。Expression 不得包含用于指定 recursive的嵌套聚合。
有关详细信息,请参阅聚合函数引用(报表生成器和 SSRS)和总计、聚合和内置集合的表达式作用域(报表生成器和 SSRS)。
有关递归聚合的详细信息,请参阅创建递归层次结构组(报表生成器和 SSRS)。
比较 Aggregate 函数和 Sum 函数
Aggregate
函数不同于数值聚合函数(例如 Sum
),区别在于 Aggregate
函数会返回由数据访问接口或数据处理扩展插件计算的值, 数值聚合函数(如) Sum
返回一个值,该值由报表处理器根据 范围 参数确定的数据集中的一组数据计算得出。 有关详细信息,请参阅聚合函数引用(报表生成器和 SSRS)中列出的聚合函数。
示例
下面的代码示例显示检索字段 LineTotal
的服务器聚合的表达式。 该表达式将添加至属于组 GroupbyOrder
的行的某个单元格中。
=Aggregate(Fields!LineTotal.Value, "GroupbyOrder")
另请参阅
在报表中使用表达式(报表生成器和 SSRS)
表达式示例(报表生成器和 SSRS)
表达式中的数据类型(报表生成器和 SSRS)
总计、聚合和内置集合的表达式作用域(报表生成器和 SSRS)