【背景】
计算,包括普通计算和聚合运算等,SmartBI都提供了相应的函数,并且这些函数还能够配合Excel的公式融合使用,方便得到各类衍生计算列。
【SmartBI插件可以用的计算手段】
- SmartBI的Excel插件可以将Excel的传统公式与SmartBI的数据函数相结合,实现丰富的计算需求。
- 运用公式和函数时都不用区分大小写。
- SmartBI函数基本以SSR开头。最常用的是获取当前行数值的函数,也有一些例如获取当前用户等SmartBI系统参数的函数。
【合计小计】
- 当某个单元格中放的是某个度量时,直接用函数SUM就可以得到该度量在相应父格扩展范围内的合计值。
【跨行计算-占比,累计,排名等】
在SQL中,如果遇到需要进行跨行累计等的情况,可以有窗口函数等方法实现。在SmartBI中则提供了快速实现的算法功能。
比如有如下一个基本的按年月层次分组的销售额分组表,用SmartBI可以快速实现占比,累计,排名等计算。
-
实现占比计算的公式如下:
D4代表当前单元格的值,SSR取子单元格函数的意思是取父格为B4范围内(一年范围)的D4区域并加总。由于B4是年份,所以D4的区域就是一年内的各个月,最终获得的是年范围内的月加总销售额=年销售额。D4/年销售额,获得的就是当月占当年销售额的百分比。 -
实现年累计的计算公式如下:
F4代表目标取值单元格,C4代表取值单元格销售额的父格是月份,-1代表取上个月的值,然后再和本月值D4相加,以此类推,获得累计值。可以看到,本质上是通过递归实现了跨行的累计。另外,由于月份的父格是年份,所以跨年会重新累计。获得的效果如下: -
实现排名的计算公式如下:
结合了Excel中RANK函数的排序能力,然后通过SmartBI函数SSR_GetSubCells来获取以年份为区域的D列值域。最终获得当年D4单元格的销售额排名。