×××S 2012 聚合函数 -- 介绍

数据的运算除了单笔计算之外,同时还需要进行汇总计算,因此,×××S中提供了一些列的聚合函数,凡是熟悉的加和、平均、计数、分组计数、最大值、最小值都有函数可以使用。

 

常用聚合函数

函数

说明

Avg

返回指定表达式的所有非Null平均值

Count

从指定表达式返回值的计数

CountDistinct

从指定表达式返回所有分组值的计数

CountRows

返回指定范围内的数据行计数

First

从指定表达式返回第一个值

Last

从指定表达式返回最后一个值

Max

从指定表达式的非Null值中,返回最大值

Min

从指定表达式的非Null值中,返回最小值

StDev

返回指定表达式的所有非Null值的标准偏差

StDevP

返回指定表达式的所有非Null值的总体标准偏差

Sum

返回指定表达式的值的总和

 

虽然可能使用到StDev以及StDevP的机会很小,不过,还是趁此机会将两者的差异解释清楚一下。StDev中的P代表的是总体(Population),StDev则代表的是标准差。标准差是用来衡量样本中数值离散的状态,标准差越小则代表总体的趋势越一致集中,反之则越离散。当我们计算的样本数是抽样样本时,则使用StDev;反之,当计算的是总体统计值时(或是样本数很大接近总体时),则采用StDevP。其他的聚合函数基本上与Excel相同,其语法架构为:

汇总函数(表达式,Scope)

 

至于RunningValue可以用来处理累积计算的功能,包括累加、移动平均等,其语法结构为:

RunningValue(表达式,聚合函数,Scope)

 

其中Scope指的是要进行汇总的数据范围,其使用方法如下:

n 若是输入“Nothing”则代表整个数据集,注意,前后不需加双引号。

n 如果该报表仅有一个数据集时,可以将“Nothing”省略,但是如果该报表出现一个以上的数据集时,则必须明确定义Scope,撰写方法为填入数据集名称,并于前后加上双引号。

n Scope可以指定数据集名称、组名称或是数据区域名称。

 

除了聚合函数之外,还有四个×××S内置的特殊计算函数:

函数

说明

InScope

指出当前实例是否在指定的作用域内

Level

返回递归层次中目前所在的级别

Previous

从指定的范围返回前一个实例

RowNumber

返回指定范围中所有数据行的运行计数

 

RowNumber是个非常实用的函数,主要是用来设计产生流水编号,其语法如下:

RowNumber(Scope)

 

汇总模式的特性

允许在聚合函数内放置另外一个聚合函数,也就是嵌套的汇总表达式。