本文为您介绍表计算函数的一些常见表达式和经典使用示例——帕累托图,您可参考构建自己的表计算函数。
表计算 即对已生成可视化图表做二次计算。在对基础数据做好汇总后,通过表计算可以对其中数据做二次运算处理。
当需要做二次计算时,可以使用表计算来省略一些下载导出再在 excel 中二次处理的步骤。比如对指标汇总求和、移动计算等。
产品目前支持可视化进行表计算配置,除此之外,也可以通过增加字段,编写表计算函数来实现。本文将对表计算函数进行介绍。同时,将介绍表计算函数的典型应用场景 帕累托图 。
说明
含义: 根据维度求指标总额。该函数通常用于计算总额百分比的场景。
在下述案例中,即通过函数,根据省份维度计算出了每个省份的付款总额。为接下来计算 [每个城市的付款额] 占 [省份付款总额] 的比重,做好了准备。
函数示例:TOTAL(sum([付款金额])) along([城市]),即求所有城市的付款金额总和。如图所示,当图表中存在其他维度(省份)时,则求各省份下所有城市的付款金额总和。
总额百分比:以上述案例为例,计算sum([付款金额])/TOTAL(sum([付款金额])) along([城市]),可求得每个城市的付款总额占省份付款总额占比。
含义:依据维度滚动求和
示例:RUNNING_SUM(sum([付款金额])) along([城市]),即依据城市滚动求和,如图所示,118,578 为临沧和丽江的付款金额和,174,599 为临沧、丽江和保山的付款金额和。当图表中存在其他维度(省份)时,则在各省份下,滚动求所有城市的付款金额总和。
扩展:除RUNNING_SUM表达式外,还可使用RUNNING_AVG、RUNNING_MIN、RUNNING_MAX滚动求均值/最小值/最大值。例:RUNNING_AVG(sum([付款金额])) along([城市])
含义:
返回分区中当前行的唯一排名。为相同的值分配相同的排名,允许并列。
使用可选的 “asc” 或者”desc” 参数指定升序或降序顺序。默认为降序。
示例:RANK(sum([利润]), 'asc') along([地区]),利用此函数,可以按照地区的利润求和进行升序排名,其中的排名有并列且会跳过并列名次,若销售额分别为(6, 7, 7, 9) 则排名结果为(4, 2, 2, 1)。
查询结果如下:
含义:依据维度,求指标的正序百分位(将asc替换为dsc求倒序百分位)
示例:RANK_PERCENTILE(sum([付款金额]),'asc') along([城市]),即由低到高计算各个城市付款金额在所在的百分位。当图表中存在其他维度(省份)时,则求各省份下,各城市付款总额在多少百分位上。
含义: 窗口函数。依据维度,计算指标从 start 到 end 窗口内所有指标值均值。如 start 为-1,end 为1,则计算指标沿着维度,从前一个到后一个窗口内,三个值的均值。
示例:WINDOW_AVG(sum([付款金额]),-1,1) along([付费日期]),即依据付费日期,计算每天从前一天到后一天的付款金额均值。
扩展: 除WINDOW_AVG表达式外,还可使用WINDOW_SUM、WINDOW_MIN、WINDOW_MAX窗口求和/最小值/最大值。
常用场景: 查看波动较大的数据趋势时,通过WINDOW_AVG平滑曲线,起到趋势线作用。
含义: 依据维度,取当前指标位置+偏移量位置的指标值。如偏移量为-1,就是取当前指标前一位指标值。
示例: LOOKUP(sum([付款金额]),-1) along([付费日期]),显示前一天的付款总额。
此处补充无法直接通过分析模块下的表计算功能配置实现,需要用到表计算函数的案例。
帕累托图包含柱状图和折线图,其中柱降序展示指标数值,折线展示累计百分比。以各类别销售额为例,可以通过绘制帕累托图,显示顶层产品类别的累计占比,确定关键类别。
running_sum(sum([销售额])) along ([子类别])/total(sum([销售额])) along ([子类别]),为两个表计算函数的组合,通过 running_sum 函数滚动求和子类别的销售总额,除以所有子类别的销售总额,得出的结果为截至每个子类别的总额累计占比。