不管有多少个品牌,门店,产品SKU等,最重要的有时候就是看 TOP N 的值以及变化。PowerBI在计算排名时给出了非常强大的支持,可以远远超越Excel传统的静态计算。
本案例来自某企业真实案例,感谢提供此富有价值的业务问题的朋友,牛。
如果说需要什么案例来说明PowerBI不仅仅是可视化工具,还有非常强大的建模计算分析功能,那本案例可以作为其中之一。如果您正在评估BI工具的能力,不妨用这个模型来测试您的BI工具是否可以实现类似效果。
介绍
如下效果所示:
业务人员通过:
- 选择排名的范围,如:TOP 1~3,或含第4,5等,通过滑杆进行;
- 选择评估的指标,如:销售额,利润,利润率;
- 选择评估的业务对象,如:客户,产品,城市,品牌,门店;
- 选择评估的范围,如:年份,客户细分,客户职业等;
根据这些业务内容,动态生成整个矩阵,矩阵的结果显示了在不同维度下,业务人员关注的业务元素的前N名到底是谁,与去年同期的对比如何。
模型亮点
该模型可以:
- 快速从海量业务元素中找出最重要的几个(前N个);
- 可伸缩式,即 N 的范围是可调的;
- 全动态式,评估的 元素 和 指标 是可变的。
这样一来,就不必建立多个矩阵,而只需要一个矩阵变可以完成所有工作任务。
数据结构
本案例延续这里一贯的DAX高阶无侵入式建模设计风格,如下:
采用没有计算列的结构,完全使用度量值进行动态计算。
基本指标为常见业务指标,与本例实质关系不大,本例以排名作为主题,囊括了相关的几个度量值。
核心 DAX 表达式
本例的思路如下:
- 根据用户的动态选择,锁定需要进行排名的元素集合;
- 在当前的唯一位置,计算出特定的元素,如:客户张三;
- 根据计算出的元素,再计算相关的指标。
因此,最重要的度量值是如何计算特定的元素,如下:
通过该表达式,计算出具体实体元素,然后再分别计算其指标,如下:
其他度量值不再列出,可在源文件中查看。
可以注意到矩阵的列标题为:TOP1,TOP2,TOP3,第4名,这里是将可变的名称作为矩阵的头部,起到筛选作用。
缺陷
延伸思考:
本案例的复杂性并非结束,细心的伙伴可以想到,如果存在并列排名(如:并列第一或并列第二怎么办),如果不显示,或错过真实信息;如果显示,应该在第三名显示并列第二名的信息,这将导致原有公式全部失效,因为原有公式是计算当前位置名次的。
仅仅是这一实际缺陷就将导致本案例需要更复杂的DAX运算,解决这一缺陷的时间可能远远超过不考虑这个缺陷的实现时间。
总结
在实际业务中,首先得到一个需求,就是对某类业务元素排序;
而后该需求被扩展了,成了按照另一类业务元素排序;
而后该需求又被扩展了,成了按照某类业务元素按照某种指标来排序;
在多个SKU中保持锁定TOP N的门店或渠道以便实施业务管理。
本案例再次印证 PowerBI 可以和业务紧密结合,而不只是做个图。
<div style="color:red">如果您喜欢本文或希望进一步深入研究,可以分享转发后私信获取源文件。</div>