报表生成器函数 - 分页报表中的 Sum 函数(报表生成器)

适用于:✔️ Microsoft Report Builder (SSRS) ✔️ Power BI Report Builder报表设计器 ✔️ SQL Server Data Tools

返回在分页报表的给定范围中计算的、由表达式指定的所有非 Null 数值的和。

注意

在 SQL Server Data Tools 中,你可以在 Microsoft 报表生成器、Power BI 报表生成器和报表设计器中创建和修改分页报表定义 (.rdl) 文件。

语法

  
Sum(expression, scope, recursive)  

参数

expression
IntegerFloat)要对其执行聚合的表达式。

作用域
(String) 可选。 包含要对其应用聚合函数的报表项的数据集、组或数据区域的名称。 如果未指定 scope ,则使用当前作用域。

递归
(Enumerated Type) 可选。 Simple (默认)或 RdlRecursive。 指定是否以递归方式执行聚合。

返回类型

对于十进制表达式,返回 Decimal ;对于所有其他类型的表达式,返回 Double

备注

表达式中指定的数据集必须具有相同的数据类型。 若要将具有多个数值数据类型的数据转换为同一数据类型,请使用类似 CIntCDblCDec的转换函数。 有关详细信息,请参阅 Type Conversion Functions(类型转换函数)。

Scope 的值必须是字符串常量,不能是表达式。 对于外部聚合或未指定其他聚合的聚合, scope 必须引用当前作用域或包含作用域。 对于聚合的聚合,嵌套聚合可以指定子作用域。

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

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

  • 嵌套聚合的Scope 不能为数据集的名称。

  • Expression 不得包含 FirstLastPreviousRunningValue 函数。

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

有关详细信息,请参阅聚合函数参考 (Report Builder 和 SSRS ) 以及总计、聚合和内置集合的表达式范围 (Report Builder 和 SSRS)

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

示例

A. 所有行项总计值的和

以下两个代码示例提供了 Order 组或数据区域中所有行项总计值的和。

=Sum(Fields!LineTotal.Value, "Order")  
' or   
=Sum(CDbl(Fields!LineTotal.Value), "Order")  

B. 所有嵌套区域中的最大值

在具有嵌套行组 Category 和 Subcategory 以及嵌套列组 Year 和 Quarter 的矩阵数据区域中,在属于最内侧的行组和列组的单元中,以下表达式的计算结果为所有子类别的所有季节中的最大值。

=Max(Sum(Fields!Sales.Value))  

另请参阅

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