[]
        
(Showing Draft Content)

聚合函数

如果要做一些聚合运算,可以使用以下聚合函数。聚合函数包含可选的scope参数,该参数确定用于计算的范围。 scope参数可以是以下值:

  • 数据集名称
  • 数据控件名称
  • 分组名称

默认情况下,scope 参数的值是当前范围,该范围取决于“托管”聚合函数的报表项。 例如,在表格中,表格组尾行有文本框,该文本框显示{Sum(unitsInStock)}值。这是对Sum聚合函数的调用,并且将忽略scope参数。即当前求和的计算范围是表格组内。如果具有相同值的文本框位于表头行,则计算范围为整个表。

函数 说明 语法
AggregateIf 如果布尔表达式符合给定条件,则计算指定表达式的集合函数值。 AggregateIf(<条件表达式>, <集合函数>, <集合函数参数>)
AggregateIf(with scope) 在指定作用域内,如果布尔表达式符合给定条件,则计算指定表达式的集合函数值。 AggregateIf(<条件表达式>, <集合函数>, <集合函数参数>, <作用域>)
Avg 返回指定表达式的所有非空值的平均值。如:=Avg( Fields!销售额.Value)。 Avg(<数值表达式>)
Avg(with scope) 在指定作用域内,计算表达式中所有非空数值的平均数。 Avg(<数值表达式>, <作用域>)
Count 计算指定表达式中所有非空数值的总个数。 Count(<数值表达式>)
Count(with scope) 在指定作用域内,计算指定表达式中所有非空数值的总个数。 Count(<数值表达式>, <作用域>)
Count(with scope) 在指定作用域内,计算指定表达式中所有非空数值的总个数。 Count(<数值表达式>, <作用域>)
CountDistinct 返回指定表达式的所有不同值的计数。 CountDistinct(<数值表达式>)
CountDistinct(with scope) 返回指定表达式的所有不同值的计数。 CountDistinct(<数值表达式>, <作用域>)
CountRows 计算记录行数。 CountRows()
CountRows(with scope) 计算指定范围内的记录行数。 CountRows(<作用域>)
CumulativeTotal 计算当前页面级别的数据统计结果,可能是合计、平均值、最大或最小值的累计。 CumulativeTotal(<数值表达式>, <聚合函数>)
DistinctSum 当一个表达式的数值不重复时,计算另一表达式的总和。 DistinctSum(<非重复数值表达式>, <待汇总数值表达式>)
DistinctSum(with scope) 在指定作用域内,当一个表达式的数值不重复时,计算另一表达式的总和。 DistinctSum(<非重复数值表达式>, <待汇总数值表达式>, <作用域>)
First 返回指定表达式的第一个值。通常是数据集第一条记录的指定字段值。 First(<数值表达式>)
First(with scope) 在指定作用域内,返回指定表达式的第一个值。 First(<数值表达式>, <作用域>)
Last 返回指定表达式的最后一个值。 Last(<数值表达式>)
Last(with scope) 在指定作用域内,返回指定表达式的最后一个值。 Last(<数值表达式>, <作用域>)
Max 返回指定表达式的所有非空值中的最大值。 Max(<数值表达式>)
Max(with scope) 在指定作用域内,返回指定表达式中所有非空数值的最大值。 Max(<数值表达式>, <作用域>)
Median 返回指定表达式中所有数值的中位数。 Median(<数值表达式>)
Median(with scope) 在指定作用域内,返回指定表达式中所有数值的中位数。 Median(<数值表达式>, <作用域>)
Min 返回指定表达式的所有非空值中的最小值。 Min(<数值表达式>)
Min(with scope) 在指定作用域内,返回指定表达式中所有非空数值的最小值。 Min(<数值表达式>, <作用域>)
Mode 返回指定表达式中重复次数最多的数值。 Mode(<数值表达式>)
Mode(with scope) 在指定作用域内,返回指定表达式中重复次数最多的数值。 Mode(<数值表达式>, <作用域>)
RunningValue 返回指定表达式的累进计算值。函数原型为:RunningValue(, , )。其中,为被计算的表达式,为累进计算方法,比如:SUM表示合计,AVG表示平均。例如:=RunningValue(Fields!库存量.Value, SUM) 返回从数据集首行至当前行的库存量累计。 RunningValue(<数值表达式>, <集合函数>)
RunningValue(with scope) 在指定作用域内,返回指定表达式的累进计算值。 RunningValue(<数值表达式>, <集合函数>, <作用域>)
StDev 返回指定表达式的所有非空值的标准偏差。 StDev(<数值表达式>)
StDev(with scope) 指定作用域内,计算指定表达式所有非空数值的标准差。 StDev(<数值表达式>, <作用域>)
StDevP 返回指定表达式的所有非空值的总体标准偏差。 StDevP(<数值表达式>)
StDevP(with scope) 在指定作用域内,计算指定表达式所有非空数值的总体标准差。 StDevP(<数值表达式>, <作用域>)
Sum 返回指定表达式的值的总和。 Sum(<数值表达式>)
Sum(with scope) 在指定作用域内,计算指定表达式所有数值的总和。 Sum(<数值表达式>, <作用域>)
Var 返回指定表达式的所有非空值的方差(标准差的平方)。 Var(<数值表达式>)
Var(with scope) 在指定作用域内,计算指定表达式所有非空数值的方差(标准差的平方)。 Var(<数值表达式>, <作用域>)
Var(with scope) 在指定作用域内,计算指定表达式所有非空数值的方差(标准差的平方) Var(<数值表达式>, <作用域>)
VarP 返回指定表达式的所有非空值的总体方差。 VarP(<数值表达式>)
VarP(with scope) 在指定作用域内,计算指定表达式所有非空数值的 VarP(<数值表达式>, <作用域>)

示例

当我们为文本框绑定一个字段时,系统将自动进行集合运算。对数值类型的字段进行Sum运算,对非数值类型的字段进行Count运算。

我们也可以在编写表达式时自定义添加集合函数进行运算,以得到需要的结果。比如,用Max函数获取订单金额的最大值。