用PowerBI进行帕累托分析有多简单?

上篇文章介绍了帕累托图的用处以及如何制作一个简单的帕累托图,在 PowerBI 中可以很方便的生成,但若仅止于此,并不足以体现 PowerBI 的强大。现实中的分析很多数据维度交织在一起,若要一个一个的生成帕累托图进行分析,就显得太繁臃和低级。

通过简单的点击交互,就能进行动态分析发现见解,才是我们需要的,恰好这也是 PowerBI 所擅长的。

就帕累托分析来说,能从不同的角度快速发现关键因素、以及可以动态设定关键因素的阈值,就是我们需要的。本文通过一个示例来看看如何生成一个动态的帕累托图,先看看最终效果,

这样分析是不是很简单,下面就来看看是如何制作的。

数据为虚拟的某连锁店的电子产品销售明细,以及与之关联的产品和销售地点维度,和一个对应的日期表,建立关系图如下,

要分析的维度:

1,时间维度:年份

2,财务指标:收入和利润

3,销售细分:按地区和产品明细


时间维度

年度指标比较简单,销售明细表中有日期数据,直接根据日期表中的年度创建一个切片器就行了。

财务指标

先建两个度量值:

收入 = SUM('销售明细'[销售额])

利润贡献 = SUM('销售明细'[毛利])

然后在PowerBI Desktop中新建表,只有一个字段[财务指标],数据为收入和利润,

按字段[财务指标]制作切片器,然后写度量值[指标数据],

指标数据 =
SWITCH(TRUE(),
    SELECTEDVALUE('财务指标'[财务指标])="收入",[收入],
    SELECTEDVALUE('财务指标'[财务指标])="利润",[利润贡献],
    BLANK()
)

该度量值判断切片器的选择,如果选择的是收入,就汇总收入数据;如果选择的是利润,就汇总利润。

产品和地区维度

同上面的思路类似,把产品明细和地区明细整合到一起,如下图,

如果数据量很小,手工整理也很快,不过在这里依然可以用DAX实现,在【建模】选项卡下,点击"新表"(参考:PowerBI Desktop中新建表的使用场景),在编辑栏输入:

分析维度 =
VAR item1 = SELECTCOLUMNS( ADDCOLUMNS( DISTINCT( '城市'[城市] ) , "分析维度" , "地区" ) , "分析维度" , [分析维度],"维度明细",[城市] )
VAR item2 = SELECTCOLUMNS( ADDCOLUMNS( DISTINCT( '产品明细'[产品名称]) , "分析维度" , "产品" ) ,"分析维度" , [分析维度], "维度明细" , [产品名称] )
RETURN UNION( item1 , item2 )

然后上图中的表格就生成了,根据该表的字段[分析维度]创建切片器。

至此,三个分析维度已经建立完成,并体现在报表左侧的三个切片器上。


制作帕累托图

步骤和上一篇文章类似,只是由于分析维度更多,需要更细化的处理。各个切片器之间要相互配合,考虑上下文的影响,以下的DAX公式稍微长一点,需要根据每个函数慢慢理解,按照这个实例学习这些函数其实也是个不错的方式。

将【折线和簇状柱形图】拖到画布上,将前面创建的分析维度表中的[维度明细]拖入到共享轴。

创建度量值[分析数据]拖入到列值框中,

分析数据 =
VAR item3=TREATAS( VALUES('分析维度'[维度明细]),'城市'[城市])
VAR item4=TREATAS(VALUES('分析维度'[维度明细]),'产品明细'[产品名称])
RETURN
    SWITCH(TRUE(),
        SELECTEDVALUE('分析维度'[分析维度])="地区",
        CALCULATE([指标数据],item3),

SELECTEDVALUE('分析维度'[分析维度])="产品",
        CALCULATE([指标数据],item4),
        BLANK()
    )

下一步就是获得累计占比的数据,创建度量值如下,

分析数据合计 =
    SWITCH(TRUE(),
        SELECTEDVALUE('财务指标'[财务指标])="收入",
        CALCULATE([收入],ALLSELECTED('销售明细'[销售额])),

SELECTEDVALUE('财务指标'[财务指标])="利润",
        CALCULATE([利润贡献],ALLSELECTED('销售明细'[毛利])),   
        BLANK()
    )

数据占比 = DIVIDE([分析数据],[分析数据合计])

累计占比 =
VAR cur_rate=[数据占比]
RETURN
    CALCULATE([数据占比],FILTER(ALL('分析维度'[维度明细]),[数据占比]>=cur_rate))

将[累计占比]拖入到列值框中,帕累托图就制作好了,


ABC比例设置

帕累托分析也成为ABC分析,一般按照70%、20%和10%的比例来划分,或者按照二八定律的80%和20%划分,当然这些都是一个概数而已,并不是一定要这样划分,实际分析时还要根据情况自行调整。

在【建模】选项卡下,点击"新建参数"(参考:创建PowerBI「参数」轻松搞定动态分析),建立三个参数如下:

参数a = GENERATESERIES(1, 100, 1)

参数b = GENERATESERIES(0, 100, 1)

参数c = GENERATESERIES(0, 100, 1)

同时生成三个切片器,通过这三个切片器来控制这三个参数的数值大小,然后就可以计算出每一类的相对占比,

A类比例 = DIVIDE([参数a值],[参数a值]+[参数b值]+[参数c值])

B类比例 = DIVIDE([参数b值],[参数a值]+[参数b值]+[参数c值])

C类比例 = DIVIDE([参数c值],[参数a值]+[参数b值]+[参数c值])

利用这三个度量值生成一个环形图,这样动态的ABC比例就设计好了,

判断因素的所属分类

建立度量值,

数据所属分类 =
VAR cur_leji=[累计占比]
RETURN
    SWITCH(TRUE(),
        cur_leji<=[A类比例],"A",
        cur_leji<=[A类比例]+[B类比例],"B",
        "C"
    )

效果如下,

至此该模型的技术操作完成,剩下的就是一些可视化方面的修饰、格式调整等,这里做的模型也还有许多待完善之处,但帕累托分析的主要方面都已考虑到,可以在实际分析中进行分解套用。

总结:

进行动态帕累托分析的主要步骤:

1,整理需要分析的维度

2,设置ABC比例参数

3,创建指标数据和累计比例

(0)

相关推荐

  • 用PowerBI制作上市公司财务报表分析模型

    我花了两周时间对采悟老师的上市公司财务报表分析模型进行了像素级的复刻,这个过程中学到了非常多的PowerBI建模及可视化设计的技巧,受益良多. PowerBI星球财务分析模型: 我将分几篇文章,在这里 ...

  • 使用PowerBI制作帕累托图

    各种复杂现象的背后,其实都是受关键的少数因素和普通的大多数因素所影响,把主要精力放在关键的少数因素上,就能达到事半功倍的效果. 这就是大家常说的二八原则,也称为帕累托原则,最早是由意大利经济学家 V. ...

  • Power BI帕累托分析:数值相等时累计占比计算“错误”问题

    最近有几个星友提到,做帕累托分析时,当有数据相等时,累计占比计算不正确,不知道是怎么回事,PowerBI为什么会出现这个"错误"呢?你是不是也碰到过这个问题? 这篇文章就来谈谈这是 ...

  • Power BI帕累托分析,为什么累计占比是错误的?

    关于帕累托分析,大家用的比较多,有个小问题被很多人问过,就是计算出的累计占比结果是错误的,这里专门写篇文章说明一下. 正常的帕累托分析是这样的,以前的文章中曾经举了个简单的例子, 占比 = DIVID ...

  • 不写DAX也能做帕累托分析?这个Power BI图表绝了

    帕累托分析很常用,我们之前也多次介绍过帕累托图的做法,包括静态.动态以及特殊数据的处理: 使用PowerBI制作帕累托图 用PowerBI进行帕累托分析有多简单? Power BI帕累托分析:数值相等 ...

  • ABC分析之完美的帕累托图!

    帕累托图经常作为ABC分析展示用,在Excel中我们可以直接使用排列图来做 ABC分析是什么,可以适当了解 ABC分类法是根据事物在技术.经济方面的主要特征,进行分类排列,从而实现区别对待区别管理的一 ...

  • 关键原因分析帕累托图

    微信公众号:Excel图表大全(ExcelChart520) 个人微信号:LiRuiExcel520 原创作者:李锐 关键原因分析帕累托图 当我们在工作中遇到数据分析时,需要展现主要的关键原因和一系列 ...

  • 七种常见的数据分析法(五):帕累托法则

    什么是帕累托法则? 帕累托法则其实就是我们常说的二八法则,经济学定律中说80%的财富掌握在20%的人手中,而在运营中可以发现,80%的贡献度来自于20%的用户. 这张图中体现了2个法则,也就是二八法则 ...

  • Excel帕累托图设计技巧,组合图表高级设置,高效展示不劳心

    メ大家请看范例图片,我们来看数据源,先将数据源进行调整.メ メ正在占比列,首行输入0%,再根据权重分值依次降序排列各项目,F3输入公式=E3/SUM($E$3:$E$8)+F2.メ メ框选数据源,大家 ...

  • 帕累托最优:在无序的状态中获得更高的效率

    1968年,普罗普斯特写道:"秩序对人类具有巨大的吸引力,人们追求井然有序,但它和人类与生俱来的对周遭环境的感悟方式背道而驰--而那是更原始的.对人类来说更得心应手的方式." 我们 ...