最新历史版本 :聚合的概念 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

聚合是什么编辑

EXCEL中的聚合

EXCEL透视表中的「透视」:从明细表到结果表由多变少的计算过程(聚合)、变换行列字段位置的结构调整

2024-07-31_14-26-13.png


SQL中的聚合

例如,求「2024年,各产品的销售额总和,保留销售额总和大于2万的产品」,SQL语句如下:

select 产品名称,SUM(销售额)
FROM xxx 
WHERE YEAR(销售日期)=2024 
GROUP BY 产品名称 HAVING SUM(销售额)>20000;

结构上看:筛选(where,having)、分组(group by 选择依据)、最后聚合(select 后面的)。

过程上看:从数据明细表到问题交叉表的聚合过程。

FineBI的聚合

  • 「聚合」和 Excel 数据透视表的联系:在 Excel 中的数据透视表实际上也是一个聚合工具。当把数据放入数据透视表,并按照某种分类汇总信息时,他们是在对数据进行聚合。

  • FineBI 在组件中的聚合:例如,一个销售订单表,包含了每条订单的销售日期、销售金额和客户信息。如果要计算每天的销售金额,需要按照销售日期「年月日」分组,再把当天订单销售额加起来,这个过程就是聚合。

  • 优势与作用:通过聚合,可以把大量复杂的数据简化,并提炼出总体的信息为更易于理解和分析的形式,帮助做出更明智的决策。

2024-09-19_15-31-57.png

聚合计算和明细计算区别编辑

2024-09-19_18-40-11.png

聚合在FineBI中的使用编辑

一个简单的示例

明细计算求毛利率

把数据添加到 FineBI 中,在数据编辑里加工是明细级别的计算。

例如,我们有一张销售明细表,有毛利额和销售额。需要计算毛利率。在数据编辑界面「新增公式列」,输入公式:毛利率=毛利额/销售额 。就得到了每条订单的毛利率数据。如下图所示:

2024-09-19_16-05-31.png

聚合计算求毛利率

在组件中的分析是将指标聚合后计算。

进入组件中,我们将字段拖入右侧的维度指标栏,数据会自动分组聚合,得到每天的毛利额和销售额是多少。

此时,我们想要求的毛利率=每日求和后的毛利额/每日求和后的销售额。展开日期分组后,对组内每行汇总后的数据求毛利率。

2024-09-19_16-16-03.png

计算毛利率需要在组件中「添加计算字段」,公式为:「毛利率-聚合函数计算」=SUM_AGG(毛利额)/SUM_AGG(销售额)

 SUM_AGG-求和将字段聚合并汇总求和的函数

SUM_AGG(毛利额)

得到每日求和后的毛利额

计算结果同上图组件中拖入的毛利额销售额会跟随维度字段改变进行动态计算

  • 维度拖入日期,计算每日毛利额

  • 维度拖入门店,计算每个门店毛利额

  • 日期下有单据编码分组,计算组内每条单据毛利额

SUM_AGG(销售额)得到每日求和后的销售额
SUM_AGG(毛利额)/SUM_AGG(销售额)

对聚合后的字段SUM_AGG(毛利额)和SUM_AGG(销售额)相除,得到聚合字段「毛利率」

2024-09-19_16-36-48.png

为什么要使用聚合函数计算毛利率

由于组件中的指标会自动聚合,会导致明细计算出的毛利率数据不准确。

如果我们直接将明细计算得到的毛利率(毛利额/销售额)拖入组件中分析,结果往往会不符合预期。

2024-09-19_17-47-34.png

常见问题编辑

Q:直接聚合和聚合的计算是什么

1)简单指标,直接聚合

通常描述业务规模,建立在直接聚合上的业务指标,比如销售额总和=sum_agg(销售额)

2)聚合的计算

规模指标难以揭示业务背后的质量情况,此时用聚合的计算作为补充,比如毛利率=sum_agg(利润)/sum_agg(销售额)

如果是直接聚合的话比如仅对一个数值进行求和,可直接拖该字段到指标区域,可自动求和。如果是聚合的计算一般需要使用聚合函数。

详情请参见:聚合函数概述

Q:聚合函数有哪些?

A:详情请参见:聚合函数概述

Q:为什么在组件中才可以使用聚合函数?

使用聚合函数之后可以实现随着分析维度的切换,计算字段会自动跟随维度动态调整。

编辑数据中都是针对个体的行级别的计算,组件中可以指定维度进行聚合计算。

Q:SUM_AGG(A/B)和SUM_AGG(A)/SUM_AGG(B)有什么区别呢?

先相除再汇总还是先分别汇总得到各自的总值再相除。

1280X1280 (9).PNG


Q:聚合函数外面能不能嵌套聚合函数?

不能。