RunningValue 函数(Report Builder 3.0 和 SSRS)

返回在给定作用域中计算的,由表达式指定的所有非 Null 数值的运行聚合。

注意注意

在 Business Intelligence Development Studio 中,您可以在 Report Builder 3.0 和报表设计器中创建和修改报表定义 (.rdl)。每个创作环境提供了不同的方式来创建、打开和保存报表和相关项。有关详细信息,请参阅 Web 上 microsoft.com 中的“在报表设计器和 Report Builder 3.0 中设计报表 (SSRS)”。

语法

RunningValue(expression, function, scope)

参数

  • expression
    要对其执行聚合的表达式,例如,[Quantity]。

  • function
    (Enum) 要应用于表达式的聚合函数的名称,例如,Sum。此函数不能为 RunningValue、RowNumber 或 Aggregate。

  • scope
    (String) 一个字符串常量,表示数据集、数据区域或组的名称,也可以为 Null(在 Visual Basic 中为 Nothing),它指定在其中计算聚合的上下文。Nothing 指定最外层的上下文,通常为报表数据集。

返回类型

由 function 参数中指定的聚合函数确定。

注释

作用域的每个新实例 RunningValue 的值都会重置为 0。如果指定组,则会在更改组表达式时重置该运行值。如果指定数据区域,则会为该数据区域的每个新实例重置该运行值。如果指定数据集,则不会在整个数据集中重置该运行值。

RunningValue 不能在筛选器或排序表达式中使用。

为其计算运行值的数据集必须具有相同的数据类型。若要将具有多个数值数据类型的数据转换为同一数据类型,请使用类似 CInt、CDbl 或 CDec 的转换函数。有关详细信息,请参阅 Type Conversion Functions(类型转换函数)。

Scope 不能是表达式。

Expression 可以包含对嵌套聚合函数的调用,但具有以下例外和条件:

  • 嵌套聚合的作用域必须与外部聚合的作用域相同,或者包含在外部聚合的作用域中。对于表达式中的所有非重复作用域,一个作用域必须相对所有其他作用域处于子关系中。

  • 嵌套聚合的作用域不能为数据集的名称。

  • Expression 不得包含 First、Last、Previous 或 RunningValue 函数。

  • Expression 不得包含指定 recursive 的嵌套聚合。

若要计算行数的运行值,请使用 RowNumber。有关详细信息,请参阅 RowNumber 函数(Report Builder 3.0 和 SSRS)

有关详细信息,请参阅聚合函数引用(Report Builder 3.0 和 SSRS)了解总计、聚合和内置集合的表达式作用域(Report Builder 3.0 和 SSRS)

有关递归聚合的详细信息,请参阅创建递归层次结构组(Report Builder 3.0 和 SSRS)

说明

下面的代码示例提供了最外层作用域(数据集)中名为 Cost 的字段的运行总和。

代码

=RunningValue(Fields!Cost.Value, Sum, Nothing)