【FineBI学习打卡】DAY52 聚合函数(上)

楼主
我是社区第1095980位番薯,欢迎点我头像关注我哦~

第52天知识点:聚合函数(上)

 

看着这些函数是不是感到既熟悉又陌生。

好像都认识,但好像又都不认识。

这就是咱们今天要分享的主角--聚合函数。

聚合函数是很多小伙伴初学FineBI时遇到的一个难点。

大家对于聚合函数常常会有这样的困惑:

  • 什么是聚合函数?聚合函数与一般的函数有什么区别?

  • 聚合函数什么时候用?

  • 聚合函数怎么用?为什么我输入了聚合函数,计算结果还是不对?

  • 聚合函数和非聚合函数能一起计算吗?

  • 我输入了聚合函数,可为什么提示“不支持直接输出聚合函数”?

接下来,我们将对这几个常见问题一一解答。

01
什么是聚合函数?

聚合函数,顾名思义,就是将数据聚集后合并在一起的函数,其实,也就是咱们常说的汇总函数。

聚合函数是对一组数据先进行汇总,然后再使用汇总后的值进行计算。

但需要注意的是:聚合函数是某一类函数的统称,而不是指具体某一个函数

02
聚合函数和一般函数有什么区别?

聚合函数和我们一般的函数有什么区别呢?

汇总的话,SUM函数就可以直接实现了,为什么还需要通过难理解的聚合函数去实现呢?

我们先给大家看个简单的例子。

现有一张各月的销售完成情况表。

我们需要在组件中展示出季度的销售完成情况。

我们先把日期拖入维度栏,销售额、目标值拖入指标栏。

然后将原始数据表中的完成率直接拖入指标栏中。

结果不对,很明显是将三个月的完成率加总在一起了。

而我们想要的结果应该是60/600,对吧?

所以我们不用原来的数据,我们在组件中添加计算字段,通过销售额/目标值去重新计算完成率,这样应该就没问题了吧:

但得到的结果仍然不对:

销售额60,目标值600,完成率怎么会是30%呢?

这是为什么呢?

因为我们的季度值是从月份分组汇总上来的,如果直接用销售额/目标值,他的计算逻辑其实是:

∑(各月的销售额/各月的目标值)

所以直接用销售额/目标值是按照10%+10%+10%计算的,而不是我们想象中会按照60/600计算输出对应结果。

这和我们直接用原始数据表中的完成率计算是一个逻辑。

所以这里只能通过聚合函数去解决。

我们用聚合函数再来计算一下完成率:

结果如下:

这样的结果是不是就没有问题了。

其实呢,这就是聚合函数与非聚合函数的本质区别。

为了大家更直观的理解,我们用Excel展示一下二者区别,大家注意看上方公式:

这样能理解了吗?

非聚合计算是:先相除再相加,

而聚合计算是:先相加再相除。

了解了两种计算方式的区别之后,我们什么时候用聚合函数呢?

03
什么场景需要用聚合函数计算?

因为聚合函数是受到维度影响的,所以一般需要对明细级数据汇总计算的时候,需要用到聚合函数。比如:

原始数据表是月维度数据,但组件中需要按季度或年维度展示数据;

或者原始数据表是员工级数据,但组件中需要按照部门或者机构级展示数据。

我们以下面这张表为例:

非聚合方式下,二季度也就是合计栏的完成率不对吧,计算的逻辑呢我们前面已经说过了,这里就不再展开了。

所以,这种情况下,我们就可以通过聚合函数SUM_AGG(销售额)/SUM_AGG(目标值)去计算完成率。

明细级的数据结果并未发生变化,但汇总值的结果由先相除再相加变成了先相加再相除,这才是我们想要的最终结果。

 

对聚合函数有了简单的了解之后,关于聚合函数怎么用以及后面的几个问题,因为篇幅限制,我们将在下一篇文章中分享。

 

感兴趣的小伙伴可以自己动手试试看~

分享扩散:
参与人数 +1 F币 +40 理由
苏瑞 + 40 【2024原创内容激励奖励】给你32个赞!

查看全部评分

沙发
发表于 2024-7-9 14:08:22
您好,感谢您的投稿。SUM函数是在数据分析工作中使用频率最高的函数,但适用场景往往会受到限制。您此篇文章结合SUM函数引出聚合函数,对比介绍其使用场景,实用性很强,会让读者受益匪浅。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

返回顶部 返回列表