Power BI全动态帕累托模型之「多级下钻」

文/Beau

PowerBI星球嘉宾
数据分析爱好者,擅长PBI数据分析

作品链接:http://suo.im/5TqjDi(请复制到浏览器中查看)

提醒:建议在PC端查看,首次浏览可能反应速度会较慢,请耐心等待。

一、模型介绍

帕累托法则    

在任何一组东西中,最重要的只占其中一小部分,约20%,其余80%尽管是多数,却是次要的,因此又称二八定律。

该法则在企业中可解读为20%的销售来自于80%的顾客,因此在面向这部分顾客,进行有重点、有针对性的服务。当然在对产品,渠道等多个销售维度分析都具有普适性。在实际销售场景中,可利用此法则快速定位头部客户,主力产品等,从而有效提升销售效率。

本文模型基于帕累托法则核心要义,结合零售行业数据,利用Power BI进行建模及可视化多级动态展现。

具体如下图:

具体布局及实现功能如下:

1.切片区 (红框)

KPI,单位,轴维度,配色方案,层级一。可对各字段进行动态切片选择。

配色方案切片:仅对帕累托图有效。

轴维度切片:对帕累托图X轴进行动态切换。

层级一切片:可对层级一的项目进行选择,实现选择项的相对累计占比动态显示。

2.数值筛选区(黄框)

日期,ABC占比,色彩饱和度。

色彩饱和度同配色方案切片,仅对帕累托图有效。

3.信息提示区(蓝框)

筛选清除按钮,信息提示按钮,下钻信息按钮。

筛选清除按钮:一键初始化切片器。

信息提示按钮:便于读者对模型的解读,对重点信息进行提示。

下钻信息按钮:对当前是否可下钻进行判断,可通过按钮点击进行下钻跳转。

4.帕累托图表区(绿框)

矩阵伸缩按钮,视觉对象标头动图工具提示。

矩阵伸缩按钮:可通过点击实现矩阵表的展开和缩回,搭配帕累托图,数据信息展现更加全面。

视觉对象标头动图工具提示:对在图表区可以使用的三种下钻方式进行提供动图化的工具提示,能让初次看到的读者快速了解使用方法。

今天这篇文章的内容将围绕如何实现多级下钻来进行展开。至于其他细节技巧,在后续文章中会有深度解读。

二、何为多级帕累托

图表的多级下钻对于熟悉PBI的小伙伴来说并不陌生,当数据结构为多个层级时,可以通过下钻实现对每个层级的展现分析。

目前在网上能看到很多关于帕累托可视化以及图表多级下钻的教程,但对于两者的结合,目前却没找到现成的资料和教程,于是心血来潮,想尝试实现多级帕累托,于是便有了此模型。

三、解决思路

对于实现多级下钻,总的来说需要做好两个方面的工作:

1.建立多层级字段表:比如要建立 产品类别--产品子类别的层级关系表,常规维度表一般都会具备这样的层级结构。

2.建立相应度量值:一般这是实现多级可下钻的关键所在。

下面我们就对度量值的构建进行重点解读。

四、具体步骤

1.建立维度表

这里我们以产品维度为例,进行多级下钻的展示。维度表如下图所示:

上图可以看到产品表中已存在产品类别-产品子类别的层级结构。

那么对于轴下钻以及KPI度量值已无问题,那么接下来重点就是累计占比度量值的构造。

2.构造累计占比度量值

首先我们理一下构造逻辑:

  • 当前层级为一层级(产品类别)时,显示一层级各项目的累计占比,同时可以进行切片筛选。

  • 当前层级为二层级(产品子类别)时,显示二层级各项目的累计占比,同时可以进行切片筛选。

很显然,根据上面的逻辑,这里首先要对当前所处层级进行判断,然后进行相应计算即可,那么这里需要用到一个关键函数-ISINSCOPE,可以利用此函数判断当前层级。

那么累计占比度量值可以顺利写出:

----------

累计占比(%) =
VAR cur = [KPI]
VAR grand_leve1 =
CALCULATE( [KPI], FILTER ( ALLSELECTED ( '产品'[产品类别] ), [KPI] >= cur ) )
VAR grand_leve2 =
CALCULATE( [KPI], FILTER ( ALLSELECTED ( '产品'[产品子类别] ), [KPI] >= cur ) )
VAR is_leve1 =
ISINSCOPE( '产品'[产品类别] )
VAR is_leve2 =
ISINSCOPE( '产品'[产品子类别] )
RETURN
SWITCH(
TRUE(),
is_leve1&& NOT ( is_leve2 ), DIVIDE ( grand_leve1, CALCULATE ( [KPI],ALLSELECTED ( '产品'[产品类别] ) ) ),
DIVIDE( grand_leve2, CALCULATE ( [KPI], ALLSELECTED ( '产品'[产品子类别] ) ) )
)

----------

以上DAX中要注意ALLSELECTED的使用,这里是能够实现对层级项进行切片动态显示相对累计占比的关键。至于ABC分类配色度量等度量采大公号里有相关文章,不再赘述。

接下来的步骤就很简单了,创建折线和堆积柱形图,拉入相关字段值,这样一个多级可下钻的帕累托图就呈现在面前了。

五、说在最后

其实从本质上看,实现多级下钻的关键在于累计占比度量的构建,那么从本文中的方法可以发散扩展到其他任意可视化对象的下钻,其逻辑是相同的。

看到这里,可能有小伙伴会问,能否实现在下钻到第二层级也可以进行类似第一层级的切片筛选?能否实现三级下钻?

关于以上及更多的问题,你需要做的就是点击篇头模型链接,进去慢慢品,慢慢发现,可以的话也尝试做一下,你的收获会更大。

正像文章开头所说,今天这篇文章的内容将主要围绕如何实现多级下钻来进行展开。关于模型更多的细节和技巧处理,如大家感兴趣后期会继续写文进行深度讲解。

关于帕累托,关于多级下钻以及更多好的建议,欢迎小伙伴们与我一起交流。

(0)

相关推荐