PowerBI 四象限动态"蝴蝶"分析法

  • 2019 年 10 月 6 日
  • 筆記

以终为始

这次我们将一起制作一张这样的分析模型,由于比较像蝴蝶,不如我们叫她:四象限动态蝴蝶分析法。

由于我们通常需要观察大量元素的 销售额 以及 利润 两个度量值同时的表现来对这些元素进行分组。

归一化处理套路

在数学中,常常用归一化处理的套路。对于不同单位不同缩放比例的度量值,我们可以将它们同时划归到单位1中,通常可能用100%表示,从而来观察一些变化,这样就可以更好的观察指标间的关系。

这里使用:排名百分比 的方法使不同省份下的城市可以在本省份下分别按照销售额和利润进行排名,具体算法如下:

  • 对于某一个元素,计算当前指标。如:当前城市销售额。
  • 找到直接父级元素下的所有兄弟元素。如:浙江省杭州市的所有兄弟元素是浙江省的所有城市。
  • 分别计算兄弟元素的当指标。如:当前各兄弟元素的销售额。
  • 计算当前元素的指标在兄弟元素中指标的排名百分比。如:当前杭州市的销售额超过了90%的兄弟城市,则其在该指标及兄弟元素下的排名百分比就是90%。

其DAX表达式为:

这样就可以得到:

至此,主体就完工了。这里需要说明几个问题:

  • 为什么会像蝴蝶
  • 一定要加父级元素吗
  • 为什么排名百分比有个 -1 计算

下面我们分别来解释。

为什么会像蝴蝶

这是第一次看到这种分析,让人立马好奇会去思考的,该图向四个方向张开,正上下左右四方的点稀松,而沿着对角线的点密集,这里是否有什么规律?

我们点选不同的省份来观察下数据的变化:

首先看到北京是这样的:

北京有6个点,一个0%,一个100%,这呈现了一种对称的美,同时反映了销售额和利润有怎样的关系以及趋势。

可以看出,与北京类似,广东虽然有很多城市,但它们总体在省内的排名分布呈现了规律。基本按 k=1 的斜率正向分布。如果是:

山东,也呈现了类似的发展态势。但并非所有省份都是良性增长的状态,例如:

可以看出,四川则是沿着 k = -1 的趋势分布。

为什么会有不同趋势

这并非必然结果,但在实际中常常出现一种情况,如果商家卖某种东西是亏的,就会越卖越亏;如果商家卖某种东西是赚的,就会越卖越赚。

为什么排名百分比有个 -1 计算

这完全是为了得到一个归一化的结果,如果当前元素可以超过除了他以外的所有元素,就可以得到100%这个值,当然也可以不-1。

如何着色

颜色的区分很正常的会用到图例,这是为了作图而服务的,用DAX实现如下:

可以看出,在这个动态度量值中需要预先准备辅助表和参考线。

当然,为了让分区可以动态适应,可以用参数来实现获取象限的分界线。

应用

我们可以立即将该图用于BCG矩阵,参考:PowerBI 全动态BCG波士顿四象限伸缩矩阵模型

用四种象限来划分不同的元素进而实现进一步的分析,这就需要用实际相结合了。

总结

归结到底,这还是一种对维度的分类的方法,主要利用 归一化排名 的思想,使用百分比排名,可以让 销售额利润 这对反映不同业务的指标有共同的展示。大家可以自己尝试。