[]
        
(Showing Draft Content)

集合函数

概述

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

表1 常用集合函数表

函数

说明

语法

AggregateIf

如果布尔表达式符合给定条件,则计算指定表达式的集合函数值。

AggregateIf(<条件表达式>, <集合函数>,

<集合函数参数>)

AggregateIf(with scope)

在指定作用域内,如果布尔表达式符合给定条件,则计算指定

表达式的集合函数值。

AggregateIf(<条件表达式>, <集合函数>,

<集合函数参数>, <作用域>)

Avg

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

Avg(<数值表达式>)

Avg(with scope)

在指定作用域内,计算表达式中所有非空数值的平均数。

Avg(<数值表达式>, <作用域>)

Count

计算指定表达式中所有非空数值的总个数。

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(<Expression>, <Aggregate>, <Scope>)。

其中,<Expression>为被计算的表达式,<Aggregate>为累进计算方法,比如: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(<数值表达式>, <作用域>)

VarP

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

VarP(<数值表达式>)

VarP(with scope)

在指定作用域内,计算指定表达式所有非空数值的总体方差

(总体标准差的平方)。

VarP(<数值表达式>, <作用域>)

示例

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

image2020-10-13_14-35-30.png

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

image2020-10-13_14-35-15.png

注意


每个集合函数都可以使用Scope参数来定义执行集合函数的范围,有关数据范围的详细介绍请参见函数计算范围