Page tree
Skip to end of metadata
Go to start of metadata

合计函数也称聚合函数,是指对一系列值进行计算。典型的系列值是数据集多条记录的同一字段,因此聚合函数的典型参数值就是数据集字段。

常用的合计函数如下:

  • Avg
    返回指定表达式的所有非空值的平均值。如:=Avg( Fields!销售额.Value)。

  • Count
    返回指定表达式的值的计数。

  • CountDistinct
    返回指定表达式的所有不同值的计数。

  • CountRows
    返回指定范围内的行的计数。

  • First
    返回指定表达式的第一个值。通常是数据集第一条记录的指定字段值。

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

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

  • RunningValue
    返回指定表达式的累进计算值。函数原型为:RunningValue(<Expression>, <Aggregate>, <Scope>)。其中,<Expression>为被计算的表达式,<Aggregate>为累进计算方法,比如:SUM表示合计,AVG表示平均。例如:=RunningValue(Fields!库存量.Value, SUM) 返回从数据集首行至当前行的库存量累计。

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

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

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

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

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


  • CumulativeTotal
    计算累计值,可能是合计、平均值、最大或最小值的累计。例如:=CumulativeTotal( Fields!Qty.Value , Sum) 返回数据集字段Qty的当前累计,其中的“Sum”可以为“AVG”以求累计平均值。此函数多用于会计类报表的滚动汇总。


每个合计函数都可以使用 Scope 参数,该参数定义执行合计函数的范围。有效的范围值是分组、数据集或数据区域的名称。如:=Avg( Fields!销售额.Value, "DataSet1")。

只有直接或间接包含表达式的分组或数据区域才能作为范围。如果表达式位于数据区域内,则对于所有聚合函数,Scope 都是可选参数。如果省略 Scope 参数,则聚合的范围就是报表项所属的最里面的数据区域或分组。如果将范围指定为 Nothing,则表示将范围设置为报表项所属的最外面的数据区域。

如果表达式位于数据区域外,Scope 参数将引用数据表或业务对象。如果报表包含多个数据集,则必须使用Scope 参数。如果报表只包含一个数据集,并且省略了 Scope 参数,则范围将设置为该数据集。如果报表项位于数据区域外,则不能为其指定 Nothing 关键字。

在页眉或页脚中不能使用 Scope 参数。

  • No labels