在表达式中使用报表函数 (Reporting Services)

更新日期: 2007 年 9 月 15 日

您可以在表达式中使用内置函数来处理报表中的报表项、属性和其他区域中的数据。 内置函数用于聚合数据集、数据区域和组中的数据以及返回其他数据。

聚合函数

下表对 Reporting Services 支持的各种聚合函数进行了说明。 可以在任何报表项的表达式中使用聚合函数。 用于集合计算的所有数据都必须是相同的数据类型。 若要将具有多种数值数据类型的数据转换为相同的数据类型,请使用诸如 CIntCDblCDec 等转换函数。 有关详细信息,请参阅 Type Conversion Functions(类型转换函数)。

函数 说明

Aggregate

按照数据访问接口的定义返回指定表达式的自定义聚合。

Avg

返回指定表达式的所有非空值的平均值。

Count

返回指定表达式的非空值的计数。

CountDistinct

返回指定表达式的所有非空非重复值的计数。

CountRows

返回指定作用域内的行的计数。

First

返回指定表达式的第一个值。

Last

返回指定表达式的最后一个值。

Max

返回指定表达式的所有非空值中的最大值。

Min

返回指定表达式的所有非空值中的最小值。

RowNumber

返回指定作用域内的所有行的运行计数。

RunningValue

使用指定的函数返回指定表达式的运行聚合。

StDev

返回指定表达式的所有非空值的标准偏差。

StDevP

返回指定表达式的所有非空值的总体标准偏差。

Sum

返回指定表达式的值的总和。

Var

返回指定表达式的所有非空值的方差。

VarP

返回指定表达式的所有非空值的总体方差。

Scope

每个聚合函数都要使用 Scope 参数,该参数定义执行聚合函数的作用域。 有效的作用域为分组、数据集或数据区域的名称。 只有直接或间接包含表达式的分组或数据区域才能作为作用域。 对于数据区域中的表达式,Scope 对于所有聚合函数都是可选的。 如果未指定 Scope 参数,则聚合的作用域为报表项所属的最内层数据区域或分组。 如果作用域指定为 Nothing,则将把作用域设置为报表项所属的最外层数据区域。

对于数据区域以外的表达式,Scope 将引用数据集。 如果报表包含多个数据集,则 Scope 是必需的。 如果报表只包含一个数据集并且未指定 Scope,则作用域将设置为该数据集。 对于数据区域以外的报表项,不能指定 Nothing 关键字。

不能在表头或表尾中使用 Scope 参数。

其他函数

Reporting Services 提供了下列其他一些聚合函数供您在表达式中使用。 有关计算表达式时可以使用的函数类型的完整列表,请参阅在 Reporting Services 中创建表达式

函数 说明

InScope

指示项的当前实例是否在指定的作用域内。

Level

返回在递归层次结构中的当前深度级别。

Previous

从指定的作用域返回前一个实例。

请参阅

概念

在 Reporting Services 中创建表达式

其他资源

在 Reporting Services 中使用表达式

帮助和信息

获取 SQL Server 2005 帮助