1. 概述
本文将介绍组件分析计算的几种方式。
2. 组件内的分组和汇总
分组和汇总是组件分析中最基础的计算。
往分析区域拖入字段后,数据会按维度设置的分组方式分组,然后对分组后的指标数据进行汇总。
原数据表是订单明细表,拖入签约时间、销售额字段。签约时间的分组更改为按「年」分组,销售额的汇总方式为「求和」,那么求得的就是每年的销售额。
3. 快速计算
FineBI 对一些常见的计算功能进行了封装,便于用户直接点击就可对汇总后的结果进行快速计算。
比如已经获得了每年的销售额,再点击「快速计算>占比」,就可以求得每年销售额占总销售额的比例。
详情请参见:快速计算概述
4. 创建计算字段
已有的数据源中缺少分析所需的数据,需要对数据进行计算。
详情请参见:计算字段
4.1 明细计算
没有 聚合函数 参与的计算都是明细计算。
例如:数据表中已有「销售额」和「利润」字段,需要计算成本:成本=销售额-利润
4.2 聚合计算
这里我们以「利润率」这一典型例子来阐释明细计算与聚合计算之间的区别。
新建计算字段「利润率-明细」:利润/销售额
将计算得到的「利润率-明细」拖入组件,这个时候我们发现每年的利润率都大于 1 ,而实际上利润率不可能大于 1 。
为什么会得到这样的结果,这是因为明细计算执行的是行级别的运算,原数据表中一行代表一个订单,直接 利润/销售额 ,相当于先求出了每一个订单的利润率。然后拖入到组件中自动将每年的利润率进行了求和。
新建计算字段「利润率-聚合」:sum_agg(利润)/sum_agg(销售额)
聚合函数会依据已拖入的维度字段进行分组,对分组后的数据进行聚合。sum_agg(销售额)求的也是每年的销售额的和,与本文第 2 节的计算逻辑一致。但是第 2 节直接的汇总得到的结果,无法进入到公式里面进行再计算,这就是我们为什么需要聚合函数的原因。
将计算得到的「利润率-聚合」拖入组件,获得的利润率就是利润和/销售额和,是正确的利润率值,如下图所示: