【FineBI学习打卡】DAY24 EARLIER函数

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

第24天知识点:EARLIER函数

 

BI星球的故事03

 

今天我们接着来讲一讲年轻小伙拜别百姓,启程出发之后的故事。

小伙连夜赶路,次日清晨,正要往前走时,突然看到前方有一什么东西挡住了去路。

走近几步,从身形上看感觉是一小孩,再走近细看,这小孩却长了一张耄耋老人的脸。

但其实,这只是一块长得像人的石头罢了。

虽然小伙对此物有一些好奇,但只当作是一块形状奇特的普通石头,一边在心里想:这石头长得有点早熟啊,像个“小老人”,一边正准备从石头左边绕过去,这时,石头却跟着往左边移动,年轻小伙又试着往右走,石头同样也跟着往右移动。

这愈发引起年轻小伙的好奇。以他多年行走江湖的经验,此物必有蹊跷。

难道是百姓们遗落在外的宝物吗?

为了一探究竟,年轻小伙带上“小老人”回去寻找百姓。恰逢百姓们正拿出DEF钟罩在对抗老维家族的恶势力。

年轻小伙刚踏进百姓们布下的DEF保护圈,“小老人”突然幻化成真人,并且还帮助DEF过滤了一部分恶势力,让DEF更高效的发挥自己的作用。

这让小伙大为震惊,原来“小老人“在等DEF啊,没遇到DEF之前只是一块奇形怪状的石头,遇到了DEF便生龙活虎,颇有双剑合璧天下无敌的架势啊。

BI星球真是卧虎藏龙之地,没想到一块石头竟让DEF发挥如此功效。感觉叫“小老人“有点不太尊重,也不好听,不如改叫EARLIER好了。

从此,EARLIER牵手DEF家族担起了保护百姓们的重任。

故事讲完了,小伙伴们知道今天的主人公是谁了吗?

没错,就是EARLIER函数

我们仍然先通过一张函数卡片了解一下EARLIER函数的具体用法。

 

下面我们通过一个案例来看看EARLIER函数在实际场景中的应用。

案例数据

A公司有一张2023年四季度经营情况表,里面记录了各省份每月的销售额及目标,涉及字段如下图所示:

 

数据分析员小张利用该表制作了一张各省份的销售情况表,如下图所示:

 

案例需求

业务部门需要在上表的基础上增加与前一名省份的销售额差距,便于督促差距少的省份赶超前一名,为年末冲刺收官营造竞争氛围,也就是想要达到下表这样的效果。

请问小张该怎么做呢?

案例分析

可以看到小张需要增加的字段:【与前一名的差距】

分析一下:

【与前一名的差距】=【前一名省份的销售额】-【当前省份的销售额】

【当前省份的销售额】是已知字段,所以我们只需要计算出【前一名省份的销售额】。

【前一名省份的销售额】怎么计算呢?

首先得知道各省份的销售额排名,才能知道对应的前一名是谁,对吧?

看着很简单,因为我们已经作过降序处理了,所以一眼就能知道排名以及对应的前一名是谁。

但是,在BI中如何计算排名呢?

组件样式>>格式>>显示序号?

有的小伙伴是不是已经想到这种解决方法了,甚至在暗自窃喜。

不、不、不,千万不要把格式里的序号当作排名哦~

格式格式,只是展示的一种样式,并不能参与字段间的计算。

所以这无法满足我们获取到排名之后,通过排名去找到对应的销售额。

那正确的做法是什么呢?

操作步骤

添加计算字段—输入公式:

DEF(COUNTD_AGG(省份)+1,[省份],[当前省份的销售额>EARLIER(当前省份的销售额))])

上图含金量极高,各位小伙伴一定要耐心仔细看完。

得到排名之后,接着我们只需要取到排名前一名的省份的销售额就可以了,也就是跨行取数。

依然借助DEF和EARLIER函数。

首先,我们计算的仍然是销售额,所以第一参数仍然是SUM_AGG(销售额)

其次,我们还是按照省份会汇总的,所以第二参数仍然是[省份]

那难就难在第三参数了,小伙伴们可以想一想:

如何让值等于上一行的值呢?也就是实现EXCEL中的A3=A2的效果呢?

获取到前一名也就是上一条的数据,可以设置过滤条件为:

上一条数据的排名+1=当前的排名

当前的排名是:EARLIER(当前省份销售额排名)

上一条数据的排名:其实对应的是【当前省份销售额排名】字段

所以通过[当前省份销售额排名+1=EARLIER(当前省份销售额排名)]判断过滤出来的就是我们想要获得的上一条销售额数据了。

有点难理解,对吗?

没关系,我们通过大家熟悉的EXCEL演示一遍这个公式所代表的作用是什么?

这个大家应该都很能理解吧,先计算出前一省份排名,再根据对应的排名去锁定对应的销售额。

综上呢,对应的函数公式应该是:

DEF(SUM_AGG(销售额),[省份],[当前省份销售额排名+1=EARLIER(当前省份销售额排名)])

最后,我们通过【前一名省份的销售额】-【当前省份的销售额】就可以得到【与前一名的差距】了。

最终结果如下图:

 

结语

今天的函数及公式有点复杂,小伙伴们可以动手练习一下加深理解。

顺便再提醒几点:

 

  • EARLIER函数只能嵌套在DEF函数中使用,不可以单独使用。

  • 一般使用EARLIER函数时,会先使用EARLIER函数计算排名,然后再进行后续的其他计算。

 

今天的学习内容就到这里,感兴趣的小伙伴可以自己动手试一试~

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

查看全部评分

沙发
发表于 2024-6-11 10:43:27
您好,您此篇内容聚焦于EARLIER函数开展,在DEF函数基础上进行讲解,清晰阐释了参数内容和相关流程,非常详尽。
板凳
发表于 2024-6-13 10:11:51
这个函数之前没有看到过,学到了
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

返回顶部 返回列表