《PowerBI商业数据分析第七章PowerBI数据分析应用.pptx》由会员分享,可在线阅读,更多相关《PowerBI商业数据分析第七章PowerBI数据分析应用.pptx(42页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、PowerBI商业数据分析第七章xxxPowerBI数据分析应用7.1 频次分析目录CONTEXT7.2 帕累托分析7.3 产品关联分析通过前面章节的学习,你对PowerBI的用法应该已经基本熟悉,本章介绍几个用PowerBI解决问题的经典示例,深入了解它的强大的数据分析能力,以及用简单直观的可视化控件帮你将复杂的问题轻松、即时的展现出来。在第三章曾简单介绍过DAX的分组,这里来看一下分组的应用,其实商业数据分析通常都可以简化为对数据进行筛选、分组、汇总的过程,本文通过一个实例来看看PowerBI是如何快速完成整个过程的。假设数据为一个订单交易明细表,含有下单日期、客户名称、产品名称等数据,业
2、务需求为:根据订单表,统计出截止某个日期,购买次数为1-7次、8-14次、14-21次的客户分别有多少?7.1 频次分析实现步骤:1,数据建模7.1 频次分析根据订单表提取出客户表,以及建立一个涵盖所有订单日期的日期表,分别与订单表建立一对多的关系。因为要进行分组,所以还要建一个分组表,可以在PowerBI中“输入数据”动手建一个,如右图。这个表不要与其他表建立关系,数据模型关系如右图客户数量 = VAR selecteddate=MAX(日期表日期) /获取所选择的日期VAR min_=SELECTEDVALUE(频次表最小值) /获取当前分组的最小值VAR max_=SELECTEDVAL
3、UE(频次表最大值) /获取当前分组的最大值VAR table1= /计算每个客户的订单数量 SUMMARIZE( 客户表, 客户表客户姓名, 下单次数, CALCULATE( COUNTROWS(订单表), FILTER( /筛选小于等于选择日期的订单 ALL(日期表), 日期表日期=selecteddate)VAR result= /统计客户数量CALCULATE( COUNTROWS( /统计落入该分组的数量 FILTER( table1, 下单次数=min_) /分组RETURN result实现步骤:2,建立度量值7.1 频次分析这个度量值中体现了筛选、分组和汇总的整个计算,在主要的
4、地方我都做了注释,值得你认真琢磨一下。提取当前上下文的数据,作为下面DAX代码运算的基础VAR定义的虚拟表table1,利用SUMMARIZE函数来生成每个客户的下单数量根据虚拟表table1,按下单数量将客户划分到不同的类别中。实现步骤:3,结果呈现7.1 频次分析将这个度量值放入到矩阵中显示计算结果。可以选择任意期间,结果就是这个时间范围内,每个频次的客户数量。实现步骤:3,结果呈现7.1 频次分析可以通过图表查看每个订单日期的客户累计购买次数分布.比如用分区图(也就是面积图)来展现,日期作为轴,度量值客户数据放入【值】中,频次作为【图例】,结果如右图。实现步骤:3,结果呈现7.1 频次分
5、析还可以利用堆积面积图来展现。从这张图可以看出,虽然客户的重复下单次数在增加,但总客户数近一年来停止增长,值得关注。这样就完成了任意一个日期的客户累计下单次数的分组统计,仅仅是建立了一个度量值,是不是很高效。以上也是PowerBI数据分析的一个基本流程,从数据建模、DAX的运用到数据呈现。7.1 频次分析各种复杂现象的背后,其实都是受关键的少数因素和普通的大多数因素所影响,把主要精力放在关键的少数因素上,就能达到事半功倍的效果。这就是大家常说的二八原则,也称为帕累托原则,最早是由意大利经济学家 V.Pareto 提出的,他在研究个人收入的分布状态时,发现少数人的收入占全部人收入的大部分,而多数
6、人的收入却只占一小部分,他将这一关系用图表展示出来,就是著名的帕累托图。帕累托图可以轻松体现并分析出一个现象的关键影响因素,现在广泛应用于各类商业和社会活动中。用帕累托图进行分析也成为帕累托分析,或者ABC分析,下面就来看一下在 PowerBI 中如何制作帕累托图。7.2 帕累托分析其实帕累托分析也是分组分析的特例,将数据按重要程度分类为20%和80%两类,或者分成A、B、C三个类别。依然使用本书第三章的销售数据和数据模型,分析的目的是识别每一个产品所属的ABC属性。假设每种产品按销售额从高到低排序,累计销售额占70%以内的为A类产品,大于70%小于等于90%的为B类产品,大于90%的为C类产
7、品。为了后续分析的方便,以及DAX表达式的更加精简,先建立一个基础度量值。销售金额 = SUM(订单表销售额)下面分别用新建列和度量值两种方式来看看如何实现。新建列的方式也称为静态帕累托分析;度量值实现方式称为动态帕累托分析。7.2 帕累托分析静态就是使用计算列的方式,确定每个产品的ABC分类。7.2 帕累托分析:静态实现步骤:1,计算每一种产品的销售额新建列:产品销售额 = 销售金额7.2 帕累托分析:静态实现步骤:2,计算累计销售额累计销售额 = CALCULATE( 销售金额, FILTER( 产品表, 产品表产品销售额=EARLIER(产品表产品销售额) )3,计算累计占比累计占比 =
8、 DIVIDE( 累计销售额, SUM(产品表产品销售额)7.2 帕累托分析:静态实现步骤:4,计算所属ABC分类ABC分类 = SWITCH(TRUE(), 累计占比=0.7,A, 累计占比= sales )产品累计占比 = DIVIDE( 产品累计销售额, CALCULATE(销售金额, ALL(产品表产品名称)产品所属分类 = SWITCH(TRUE(), 产品累计占比=0.7,A, 产品累计占比=A客户购买B的金额 平均值,关联客户占比=关联客户占比 平均值),#FF6440, AND(A客户购买B的金额=A客户购买B的金额 平均值,关联客户占比关联客户占比 平均值),#FFBC00,
9、 AND(A客户购买B的金额=关联客户占比 平均值),#00B74A, AND(A客户购买B的金额A客户购买B的金额 平均值,关联客户占比关联客户占比 平均值),#7277D8)把散点的形状改为三角形。这样就根据平均线,把散点图动态分成了四个象限,并且落入每个象限的数据用不同的颜色展示。实现步骤:4,关联分析可视化7.3 关联产品分析该模型还可以接着分析某一段时间的关联性,比如促销期间、节假日期间,客户的购买特征很可能与平时是不同的,可以放一个日期切片器,选择关注的期间,关联数据以及四象限图都会动态变换。至此,一个简单的关联分析模型建立完成,根据关联产品的不同,动态显示不同的高相关度产品,并且
10、可以随着时间段的变化而变化。如果有更多的分析维度,比如客户画像的特征、销售地点等数据,只需要将这些维度作为外部切片器,无需额外的数据处理操作,就可以自动挖掘出不同客户、不同地域的关联产品组合。当然,这个模型挖掘的关联产品只是初步结果,还应对这个结果进行进一步验证,避免因偶然或人为因素导致的关联性,比如是否有某两种商品的捆绑销售活动等。关联分析是非常有用的数据挖掘方式,能够帮助企业进行精准产品营销、产品组合以及发现更多潜在客户,真正的利用数据,为企业创造价值。7.3 关联产品分析如下图数据,已知员工的入职日期和离职日期,如何计算每个月底的在职员工数量?本章练习分析思路:本章练习1 1,建立数据模型,建立数据模型因为要按时间统计,所以需要建立一个日期表,方法如附录一。日期表建好以后,无需建立关系。2 2,创建度量值,创建度量值在职员工数量在职员工数量 = VAR date_=MAX(日期表日期)/获取上下文的最大日期RETURNCALCULATE( COUNTROWS(员工表), FILTER( ALL(员工表), 员工表入职日期date_|员工表离职日期=BLANK() )然后将日期表中的月份和在职员工数量放入到矩阵中,就可以得到每月底的员工数量。