RunningValue 函数(报表生成器和 SSRS)

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

注意

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

语法

  
RunningValue(expression, function, scope)  

参数

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

函数
(Enum) 要应用于表达式的聚合函数的名称,例如,Sum。 此函数不能为 RunningValueRowNumberAggregate

作用域
String () Visual Basic) 中作为数据集、数据区域或组的名称或 null (Nothing 的名称的字符串常量,用于指定要在其中评估聚合的上下文。 Nothing 指定最外层的上下文,通常为报表数据集。

返回类型

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

备注

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

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

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

Scope 不能是表达式。

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

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

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

  • 表达式 不得包含 FirstLastPreviousRunningValue 函数。

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

若要计算行数的运行值,请使用 RowNumber。 有关详细信息,请参阅 RowNumber 函数(报表生成器和 SSRS)

有关详细信息,请参阅聚合函数引用(报表生成器和 SSRS)总计、聚合和内置集合的表达式作用域(报表生成器和 SSRS)

有关递归聚合的详细信息,请参阅创建递归层次结构组(报表生成器和 SSRS)

示例

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

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

下面的代码示例提供了名为 Score 的数据集中名为 DataSet1的字段的运行总和。

=RunningValue(Fields!Score.Value,sum,"DataSet1")  

下面的代码示例提供了最外层作用域中名为 Traffic Charges 的字段的运行总和。

=RunningValue(Fields!Traffic Charges.Value, Sum, Nothing)  

另请参阅

在报表中使用表达式(报表生成器和 SSRS)
表达式示例(报表生成器和 SSRS)
表达式中的数据类型(报表生成器和 SSRS)
总计、聚合和内置集合的表达式作用域(报表生成器和 SSRS)