【DEF系列_01】占比计算_TOP N占比 - N是多少,你说了算

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

占比计算的2.0版本 见 《【DEF系列_01】DEF应用之占比计算_2-我的帆软 (fanruan.com)》,直播课,有同学提问了另一个占比计算场景:

 

如何用DEF函数计算TOP10占总体的占比?

 

TOP N占比有两种常见计算逻辑:

  • TOP N占比整体

  • TOP N占比自己

举个栗子:

某直播电商公司旗下现在有50个品牌在销售:

  1. 老板想知道每个品牌的销售 vs公司整体业绩的占比是多少?so easy,A品牌销售÷公司整体销售*100%就ok了。

  2. 那如果老板想知道 TOP10的占比怎么办呢?依然so easy,前面每个品牌占比都算过了,把销售排名前10的品牌筛选出来就哦了呀~

  3. 再如果,老板只关注TOP 10品牌,想知道每个品牌在TOP10的销售中的占比,那又该怎么算呢?!

老板的第二个需求就是TOP N占比整体,第三个需求就是 TOP N占比自己

 

FineBI的帮助文档有一个举例也能解决这个问题,见:求前六名分别占前六总和的占比:https://help.fanruan.com/finebi/doc-view-823.html

 

答同学提问,想要用DEF函数算,今天来个升级版~

 

按照惯例,先温习函数语法,参见《戏说DEF-我的帆软 (fanruan.com)》:

DEF(聚合指标, [维度1,维度2,...], [过滤条件1, 2,...]) 

DEF_ADD(聚合指标,[维度1,维度2,...],[过滤条件1, 2,...]) 

DEF_SUB(聚合指标,[维度1,维度2,...],[过滤条件1, 2,...]) 

 

然后我们再来看看FineBI怎么实现老板的第二个/第三个需求~


 

01

 

数 据 导 入

 

打开FineBI6.0,在tab【我的分析】中新建分析主题,弹出【选择数据】框,将Excel数据导入(当然,当前工程上有数据的话,可以直接调用工程上的数据)

2023.5.28 DEF应用_数据源.xlsx (83.34 K)

 

 

02

 

新 建 参 数 & 指 标

 

第一步:建参数-品牌排序(数值类型),如下图:

 

第二步:指标计算,不废话,直接上公式

①某TOP品牌占比整体:

  •  
DEF_ADD(SUM_AGG(交易额),品牌)/DEF(SUM_AGG(交易额))

 

②某TOP品牌占比筛选出来的TOP N品牌

  •  
DEF_ADD(SUM_AGG(交易额),品牌) / DEF(SUM_AGG(交易额),[],DEF(COUNTD_AGG(品牌)+1,品牌,DEF(SUM_AGG(交易额),品牌)>EARLIER(DEF(SUM_AGG(交易额),品牌))) <= 品牌排序)

上述公式,分母DEF函数的第三参数,有进行二次DEF嵌套,目的是对品牌进行排序(依据销售额聚合);

 

万金油排序公式(可依据自己的需求,修改维度即可)

  •  
DEF(COUNTD_AGG(品牌)+1,品牌,DEF(SUM_AGG(交易额),品牌)>EARLIER(DEF(SUM_AGG(交易额),品牌)))

 

03

 

制 作 仪 表 板

 

此处通过分组表展示:

①新建仪表板,在仪表板内新建一个过滤组件(展示类型:文本下拉),绑定参数且设置自定义值,设置如下:

 

②回到组件界面,选择分组表,将 “品牌”拖入维度栏,下拉框选择“过滤”,给品牌维度设置过滤条件(依据交易额,筛选最大的N个,N通过“品牌排序”参数控制)

 

 

③将计算好的指标 拖入指标框即可,如下图:

咦?没数据?!

不急,拖进仪表板看看~

 

④ 组件放入仪表板,自定义筛选,结果变化如下:

小 结

 

DEF做复杂的占比计算,最大的难点在第三参数的筛选,想清楚筛选条件和逻辑很重要;

 

此计算场景,帮助文档的解决方案,也可以升级为通过参数控制TOP N,调整品牌的过滤条件,绑定参数即可,如下图:

 

好了,今天就酱紫啦,回见~

 

我是BI实战(张丹洁),关注我,带你在FineBI的世界飞

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

查看全部评分

沙发
发表于 2024-5-26 16:01:51
原创投稿:TOP N占比 – N是多少,你说了算~(https://mp.weixin.qq.com/s?__biz ... _CN#wechat_redirect
板凳
发表于 2024-6-3 14:44:32
您好,您此篇文章主要介绍如何用DEF函数计算TOP10占总体的占比,整体描述较完善,内容框架较为完善。但是这边建议系列文章在进行文章命名时,文章名称要再细粒度一些,不然读者在阅读的时候需要画一些时间去找到自己想要的文章内容。因为您该系列前后几条文章都是聚焦于不同的场景需求解决问题的,可以在文章题目上细化一些,用简单的语言体现出读者最需要的内容。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

返回顶部 返回列表