You need to enable JavaScript to run this app.
导航
表计算函数说明及常用场景示例
最近更新时间:2025.08.11 12:32:51首次发布时间:2021.06.18 15:29:12
复制全文
我的收藏
有用
有用
无用
无用

本文为您介绍表计算函数的一些常见表达式和经典使用示例——帕累托图,您可参考构建自己的表计算函数。

使用场景

表计算 即对已生成可视化图表做二次计算。在对基础数据做好汇总后,通过表计算可以对其中数据做二次运算处理。
当需要做二次计算时,可以使用表计算来省略一些下载导出再在 excel 中二次处理的步骤。比如对指标汇总求和、移动计算等。
产品目前支持可视化进行表计算配置,除此之外,也可以通过增加字段,编写表计算函数来实现。本文将对表计算函数进行介绍。同时,将介绍表计算函数的典型应用场景 帕累托图

常见表达式

说明

  • 表计算表达式仅能作为指标应用
  • along 的维度必须存在于查询面板中,否则报错

TOTAL( <指标> ) along ( <维度>)

含义: 根据维度求指标总额。该函数通常用于计算总额百分比的场景。
在下述案例中,即通过函数,根据省份维度计算出了每个省份的付款总额。为接下来计算 [每个城市的付款额] 占 [省份付款总额] 的比重,做好了准备。
函数示例TOTAL(sum([付款金额])) along([城市]),即求所有城市的付款金额总和。如图所示,当图表中存在其他维度(省份)时,则求各省份下所有城市的付款金额总和。
Image
总额百分比:以上述案例为例,计算sum([付款金额])/TOTAL(sum([付款金额])) along([城市]),可求得每个城市的付款总额占省份付款总额占比。
Image

RUNNING_SUM( <指标> )along( <维度> )

含义:依据维度滚动求和
示例RUNNING_SUM(sum([付款金额])) along([城市]),即依据城市滚动求和,如图所示,118,578 为临沧和丽江的付款金额和,174,599 为临沧、丽江和保山的付款金额和。当图表中存在其他维度(省份)时,则在各省份下,滚动求所有城市的付款金额总和。
Image
扩展:除RUNNING_SUM表达式外,还可使用RUNNING_AVG、RUNNING_MIN、RUNNING_MAX滚动求均值/最小值/最大值。例:RUNNING_AVG(sum([付款金额])) along([城市])
Image

RANK( <指标> ,'asc'/'desc') along( <维度> )

含义
返回分区中当前行的唯一排名。为相同的值分配相同的排名,允许并列。
使用可选的 “asc” 或者”desc” 参数指定升序或降序顺序。默认为降序。
示例
RANK(sum([利润]), 'asc') along([地区]),利用此函数,可以按照地区的利润求和进行升序排名,其中的排名有并列且会跳过并列名次,若销售额分别为(6, 7, 7, 9) 则排名结果为(4, 2, 2, 1)。
Image
查询结果如下:
Image

RANK_PERCENTILE( <指标> ,'asc') along( <维度> )

含义:依据维度,求指标的正序百分位(将asc替换为dsc求倒序百分位)
示例RANK_PERCENTILE(sum([付款金额]),'asc') along([城市]),即由低到高计算各个城市付款金额在所在的百分位。当图表中存在其他维度(省份)时,则求各省份下,各城市付款总额在多少百分位上。
Image

WINDOW_AVG( <指标> ,start,end) along( <维度> )

含义: 窗口函数。依据维度,计算指标从 start 到 end 窗口内所有指标值均值。如 start 为-1,end 为1,则计算指标沿着维度,从前一个到后一个窗口内,三个值的均值。
示例WINDOW_AVG(sum([付款金额]),-1,1) along([付费日期]),即依据付费日期,计算每天从前一天到后一天的付款金额均值。
Image
扩展: 除WINDOW_AVG表达式外,还可使用WINDOW_SUM、WINDOW_MIN、WINDOW_MAX窗口求和/最小值/最大值。
常用场景: 查看波动较大的数据趋势时,通过WINDOW_AVG平滑曲线,起到趋势线作用。
Image

LOOKUP( <指标> , 偏移量) along( <维度> )

含义: 依据维度,取当前指标位置+偏移量位置的指标值。如偏移量为-1,就是取当前指标前一位指标值。
示例LOOKUP(sum([付款金额]),-1) along([付费日期]),显示前一天的付款总额。
Image

经典应用

此处补充无法直接通过分析模块下的表计算功能配置实现,需要用到表计算函数的案例。

帕累托图

示例效果

帕累托图包含柱状图和折线图,其中柱降序展示指标数值,折线展示累计百分比。以各类别销售额为例,可以通过绘制帕累托图,显示顶层产品类别的累计占比,确定关键类别。
Image

操作步骤

  1. 以子类别的销售额帕累托图为例:选择图表类型为双轴图,将子类别作为维度,销售额作为主轴,确定子类别-销售额图表。
    Image
  2. 使用分析模块中的排序功能,对销售额降序。
    Image
  3. 创建累计占比字段,表达式:running_sum(sum([销售额])) along ([子类别])/total(sum([销售额])) along ([子类别]),为两个表计算函数的组合,通过 running_sum 函数滚动求和子类别的销售总额,除以所有子类别的销售总额,得出的结果为截至每个子类别的总额累计占比。
    Image
  4. 将累计百分比字段拖入指标次轴,形成帕累托图。可以使用左侧图表配置,调整坐标轴数据格式,将次轴数据格式改为百分比。
    Image