动态计算函数允许对分组汇总的表格、交叉表格、自由式表格、图表中的值执行计算。
动态计算函数出现在**【动态计算>定制计算】**的窗口中。
步骤一:
步骤二:函数列表
1. diff:差值
语法:diff(expression, int position)
➢说明:
返回当前行数据与分区内的某个值的差值。选择分区内的哪个值来算差值,受参数2 position控制。
参数1 expression:表达式列。
参数2 position:
可选值为FIRST(分区内的第一个值)、
PREVIOUS(分区内当前行的前一个值)、
NEXT(分区内当前行的后一个值)、
LAST(分区内的最后一个值)。
也可以输入数字,对应的分别是1,2,3,4。
例如:
diff(Sum(col[‘销量’]), PREVIOUS),计算依据为沿平面纵向
第一行为空是因为分区内当前行的前一行不存在,第二行的1=207-206。此例中,“diff”列相当于环比计算。
2. percentDiff:差值百分比
语法:percentDiff(expression, int position)
➢说明:
返回当前行数据与分区内的某个值的差值百分比。选择分区内的哪个值来算差值,受参数2 position控制。
参数1 expression:表达式列。
参数2 position:
可选值为FIRST(分区内的第一个值)、
PREVIOUS(分区内当前行的前一个值)、
NEXT(分区内当前行的后一个值)、
LAST(分区内的最后一个值)。也可以输入数字,对应的分别是1,2,3,4。
➢例如:
percentDiff(Sum(col[‘销量’]), PREVIOUS),计算依据为沿平面纵向。
第一行为空是因为分区内当前行的前一行不存在,第二行的0.005=(207-206)/206
3. percent:百分比
语法:percent(expression, int position)
➢说明:
返回当前行数据与分区内的某个值的百分比。选择分区内的哪个值来算差值,受参数2 position控制。
参数1 expression:表达式列。
参数2 position:
可选值为FIRST(分区内的第一个值)、
PREVIOUS(分区内当前行的前一个值)、
NEXT(分区内当前行的后一个值)、
LAST(分区内的最后一个值)。也可以输入数字,对应的分别是1,2,3,4。
➢例如:
percent(Sum(col[‘销量’]), PREVIOUS),计算依据为沿平面纵向。
第一行为空是因为分区内当前行的前一行不存在,第二行的1.005=207/206。
4. percentSum:汇总百分比求和
语法:percentSum(expression)
➢说明:
返回当前行数据与分区内数据的总和的百分比。
参数 expression:表达式列。
➢例如:
percentSum(Sum(col[‘销量’])),计算依据为沿平面纵向。
第一行0.123=206/(206+207+232+207+239+178+221+182)。
第三行:0.139=232/(206+207+232+207+239+178+221+182)。
5. percentMax:汇总百分比求最大值
6. percentMin:汇总百分比求最小值
7. percentAvg,汇总百分比求平均值
8. movingSum:移动计算求和
语法:movingSum(expression, [int prev, int next, boolean includedCurrent, boolean appended])
移动计算求和,返回当前行数据与前后几行数据的和。是否包含当前行,由参数includedCurrent决定。如果前面几行和后面几行没有足够的值,是否计算或显示为空,由参数appended决定。
参数1 expression:表达式列。
参数2 prev:前几个值参与计算。
参数3 next:后几个值参与计算。
参数4 includedCurrent:是否包含当前值。true为包含,false为不包含。
参数5 appended:如果没有足够值,是否取空。true为取空,false为按实际拿到的值计算。
➢例如:
movingSum(Sum(col[‘销量’]),1,1,true,false),计算依据为沿平面纵向。计算依据决定分区,更多分区介绍详见动态计算的分区介绍。
第一行413=206+207
第二行645=206+207+232
第八行403=221+182
(中间函数暂时省略,不太常用)
17. runningSum:累积总计求和
语法:runningSum(expression,[reset])
(其他几个类似)
runningAvg:累积总计求平均值
runningMax:累积总计求最大值
runningMin:累积总计计算求最小值
➢说明:
返回给定表达式从分区中第一行到当前行的数据的总和。
参数1 expression:表达式列。
参数2 reset:指定依据哪个字段的值发生变化而进行重新累计。不填代表不重置。参数2可用的列,受计算依据影响
➢示例:
runningSum(sum(col[‘销量’])),runningAvg(sum(col[‘销量’])),runningMax(sum(col[‘销量’])),runningMin(sum(col[‘销量’]))
下图显示对一组值执行各种累计函数(runningSum, runningAvg, runningMax, runningMin),按表格纵向分区内值的累积总计计算的效果。