![Power BI零售数据分析实战](https://wfqqreader-1252317822.image.myqcloud.com/cover/519/47184519/b_47184519.jpg)
2.3 基于Power BI的零售数据分析案例
本节我们以一个具体的零售案例,演示利用Power BI进行数据分析的完整流程。帮助您快速、全面掌握Power BI数据分析各环节的基础操作。
2.3.1 业务理解
案例以女装企业为研究对象,分析其销售额和折扣率两项指标的数据表现,从时间维度、区域维度、产品维度发现销售异常,从而采取相应的调改措施。
根据业务需求,准备相应的数据源,分别为“门店信息表”、“产品信息表”、“日期表”和“销售表”,如表2-1~表2-4所示(其中,吊牌价、金额的单位为元,后同)。数据源统一存放在本地Excel工作簿——“示例数据”中。
表2-1 门店信息表
![](https://epubservercos.yuewen.com/0C2AEC/26540125201978306/epubprivate/OEBPS/Images/x3.jpg?sign=1739278592-5wugfDXYZZWlYsco8aHwjZ8mk7Rr8eqK-0-a365d0f524ea5e33b668834c2ef82a18)
表2-2 产品信息表
![](https://epubservercos.yuewen.com/0C2AEC/26540125201978306/epubprivate/OEBPS/Images/x4.jpg?sign=1739278592-t0CIPWSk1ba8jFVJ2UBGGLQFCIqjSraW-0-dcdc484765087d2319d2e288fe76b544)
表2-3 日期表
![](https://epubservercos.yuewen.com/0C2AEC/26540125201978306/epubprivate/OEBPS/Images/x5.jpg?sign=1739278592-RCbpNi4Pvgn5FIBSAUCZNvMXi1cwdWrz-0-d5313f6a38dae16384cdb8c145fb3f47)
表2-4 销售表
![](https://epubservercos.yuewen.com/0C2AEC/26540125201978306/epubprivate/OEBPS/Images/x6.jpg?sign=1739278592-E8w0LM14QXc9TdZt2TQLqwiqZzrSO1zV-0-76262a758a66079d6cfcf16ca9f1db20)
基础数据准备完成,接下来需要将数据导入Power Query。
2.3.2 数据获取
打开一个新的Power BI Desktop文档,单击“获取数据”,由于数据源存放在Excel工作簿中,选择“Excel工作簿”,如图2-7所示。
![](https://epubservercos.yuewen.com/0C2AEC/26540125201978306/epubprivate/OEBPS/Images/2.7.jpg?sign=1739278592-pcbYhOXGmj2yRZbNDUfhst3LtNNGbSxJ-0-a67611d392d072e9f4440ed42262262a)
图2-7 选择数据源类型
通过文件路径找到目标Excel工作簿——“示例数据”,单击该工作簿后单击右下角“打开”,如图2-8所示。
![](https://epubservercos.yuewen.com/0C2AEC/26540125201978306/epubprivate/OEBPS/Images/tx2-8.jpg?sign=1739278592-xmSVlS1n3PJyydhuTnMQWlG0EgP2stmz-0-513ee858f96ecc00351fbaef4fbec727)
图2-8 找到目标Excel工作簿
此时,“导航器”窗口显示Excel工作簿下的所有工作表,根据建模需要进行选择。此处“示例数据”中的4张工作表都需要导入模型进行分析,全部勾选后单击右下方的“加载”或者“转换数据”。“加载”表示直接将工作表加载到Power BI Desktop中进行建模分析,“转换数据”则表示将工作表导入Power Query,对数据进行处理后再加载到Power BI Desktop中进行建模分析。一般情况下,建议选择“转换数据”,对工作表进行处理,检查无误后再加载到Power BI Desktop中,如果您对数据质量非常有信心,可以直接单击“加载”。此处我们单击“转换数据”,如图2-9所示。
![](https://epubservercos.yuewen.com/0C2AEC/26540125201978306/epubprivate/OEBPS/Images/2.9.jpg?sign=1739278592-AaFEh8PcNW51HRNfLwO8yYGLHq5uPyCk-0-5f7180409d3b7bcea76eba78e41192f7)
图2-9 将数据源导入Power Query
2.3.3 数据转换
数据源在Power Query中进行数据转换的步骤都记录在其操作界面右侧的“查询设置”窗格中。以销售表为例,可以看到图2-10中,Power Query已经自动进行了“源”“导航”“提升的标题”“更改的类型”4步操作。其中,“源”“导航”用于定位到目标查询,是查询的默认操作;“提升的标题”和“更改的类型”是通过在Power Query中进行设置来确定是否由Power Query自动操作的,默认设置由Power Query自动完成操作。要修改检测类型,需要单击“文件”→“选项和设置”→“选项”,在“全局”→“数据加载”下的“类型检测”中,根据需要进行设置,如图2-11所示。
![](https://epubservercos.yuewen.com/0C2AEC/26540125201978306/epubprivate/OEBPS/Images/2.10.jpg?sign=1739278592-Xd2VVVWDCoIU1BoFA5OJHNlJvWRBhDzT-0-0869283180a1a0b4680b37fb3610a868)
图2-10 “查询设置”窗格记录数据转换步骤
![](https://epubservercos.yuewen.com/0C2AEC/26540125201978306/epubprivate/OEBPS/Images/2.11.jpg?sign=1739278592-CKLQoKwMrOV3VGnIuWzysgSSalvoICWY-0-6a18dcffc75e1604686f158756fafe81)
图2-11 在Power Query中设置“类型检测”
由于数据源是从系统中导出的,数据结构非常规范,此处不需要进行其他的数据转换操作,唯一要做的就是检查Power Query 自动更改的数据类型是否符合业务需求。数据中的订单ID、吊牌价、数量、金额字段是整数类型,门店ID、产品ID字段是文本类型,都和业务相符。日期字段此处自动修改为整数类型,与业务不符,需修改为日期类型,如图2-12所示。
![](https://epubservercos.yuewen.com/0C2AEC/26540125201978306/epubprivate/OEBPS/Images/2.12.jpg?sign=1739278592-vJ246dCbZ4VFiyMH1kda2jqTdeiUHnx0-0-811e8681ca19032f8aab3c58366b5c3f)
图2-12 Power Query数据类型检查
选中“日期”列,单击功能区中的“数据类型”,选择“日期”类型,如图2-13所示。
![](https://epubservercos.yuewen.com/0C2AEC/26540125201978306/epubprivate/OEBPS/Images/2.13.jpg?sign=1739278592-5jiyaaqGDXEZE7Bqm2uhSe4aHgKPGi8y-0-51dfe2f506308aa7b9ac9ff31eb3e8e0)
图2-13 Power Query数据类型转换
此时,Power Query提示是“替换当前转换”还是“添加新步骤”,选择“替换当前转换”,日期字段转换为日期类型。
数据类型转换操作虽然相对基础、简单,却是非常重要的。不恰当的数据类型会导致模型占用的内存增多,或者后期建模过程中出现错误。
其他查询报表的数据转换操作与上述方法类似。
所有报表都转换完成后,单击左上角“关闭并应用”按钮,将报表加载至Power BIDesktop。
2.3.4 数据建模
数据在Power BI Desktop中加载完成后,就可以进行建模、分析。
首先在各表间建立关系。单击Power BI Desktop操作界面左侧的“模型”图标,进入“模型”视图。依据业务逻辑,在各表间建立关系。“销售表”作为事实表放在中间,“门店信息表”、“产品信息表”和“日期表”作为维度表放在事实表周围,分别和“销售表”建立一对多关系,如图2-14所示。
![](https://epubservercos.yuewen.com/0C2AEC/26540125201978306/epubprivate/OEBPS/Images/2.14.jpg?sign=1739278592-VYQvWTjVoJOLiVeI2TdCAMvyOxKqGhSc-0-f50dd100e1a48e9d7bd562f98cb524ab)
图2-14 表间关系建立
关系建立完成后,要考虑模型中现有字段能否满足建模需求,如果不能满足,则需要新建计算表或计算列来丰富模型的分析维度。案例中的业务场景需要分析销售额和折扣率,折扣率=销售额÷吊牌金额。模型的“销售表”中只有金额字段,没有吊牌金额字段,所以需要新建计算列来计算吊牌金额。
选择“数据”视图,在“字段”窗格中单击“销售表”,然后单击“新建列”,输入吊牌金额计算公式。
“销售表”中的计算列
吊牌金额=
[吊牌价] × [数量]
吊牌金额计算列建立完成,如图2-15所示。
![](https://epubservercos.yuewen.com/0C2AEC/26540125201978306/epubprivate/OEBPS/Images/2.15.jpg?sign=1739278592-dlP1zQDBZmpbfWbDx1dtfPZDWLLY3mvi-0-f000877259ee954f4dae511bab9770d5)
图2-15 新建吊牌金额计算列
吊牌金额也可以通过新建度量值的方式计算得到。度量值和计算列不同,计算列归属于某张具体表格,而度量值不归属于任何表格,它属于整个数据模型。所以理论上可以在任何表格中新建度量值,而不影响它的使用。此处我们在“产品信息表”下新建度量值,计算[销售额]和[折扣率]指标。单击“产品信息表”,在菜单栏依次单击“表工具”“新建度量值”,在编辑栏中输入以下公式。
“产品信息表”中的度量值
销售额=
SUM ( '销售表'[金额] )
吊牌金额=
SUM ( '销售表'[吊牌金额] )
折扣率=
DIVIDE ( [销售额], [吊牌金额] )
计算完[销售额],接下来计算[销售额同期]及[销售额同比增长率]。
“产品信息表”中的度量值
销售额同期=
CALCULATE ( [销售额], SAMEPERIODLASTYEAR('日期表'[日期] ) )
销售额同比增长率=
DIVIDE ( [销售额] - [销售额同期], [销售额同期] )
这里要注意的是,每输入完一个度量值,要设置其格式。[销售额]、[销售额同期]、[吊牌金额]为整数类型,[折扣率]、[销售额同比增长率]为百分比类型。
2.3.5 报告制作
建模完成后,回到“报表”视图,制作可视化报告。业务需求是从时间维度、区域维度、产品维度对销售额进行分析的,根据业务需求逐一制作可视化图表。
1.制作月度销售额趋势同期对比图
对于时间类型的分析通常选择水平方向的可视化对象,在“可视化”窗格中单击“折线图”视觉对象按钮。将“日期表”中的月份名称字段拖入“X轴”,将“产品信息表”中的度量值[销售额]和[销售额同期]拖入“Y轴”,快速生成月度销售额趋势对比图。由于没有筛选年份,因此本期和同期的销售额相同,如图2-16所示。
![](https://epubservercos.yuewen.com/0C2AEC/26540125201978306/epubprivate/OEBPS/Images/2.16.jpg?sign=1739278592-crKvuZvTjXPhFI42Mk5Y8LOMNyofWlo1-0-0dcb5a179f952554c922e47e88f0b2f1)
图2-16 快速生成月度销售额趋势同期对比图
在“可视化”窗格中单击“切片器”视觉对象按钮,将“日期表”中的年字段拖入“字段”窗格,首先设置切片器的显示方式,单击“切片器”右上角的向下箭头,选择“列表”,如图2-17所示。然后设置切片器的显示方向,在“可视化”窗格中单击“设置视觉对象格式”“视觉对象”“切片器设置”“选项”“方向”,选择“水平”,然后将下方的“切片器标头”关掉,最后在“切片器”中选择“2019”。此时,“折线图”正确显示了月度本期和同期销售额,如图2-18所示。
![](https://epubservercos.yuewen.com/0C2AEC/26540125201978306/epubprivate/OEBPS/Images/2.17.jpg?sign=1739278592-INLLsiPNEt2jjpijD436jwIBX1ETSETA-0-31da06d8f4a55892560f788af5c91947)
图2-17 设置切片器显示方式为“列表”
![](https://epubservercos.yuewen.com/0C2AEC/26540125201978306/epubprivate/OEBPS/Images/2-18.jpg?sign=1739278592-LUyN7tsMhHVG5XQOEmOCZAeJU2KAFSVZ-0-7b16c059af87575468d0eaee86c0016e)
图2-18 Year切片器筛选“折线图”
接下来简单进行图表美化。在“可视化”窗格下,单击“设置视觉对象格式”“视觉对象”,将“X轴”和“Y轴”的“标题”关掉;再单击“常规”,修改图表标题为“月度销售额趋势同期对比”,如图2-19所示。
![](https://epubservercos.yuewen.com/0C2AEC/26540125201978306/epubprivate/OEBPS/Images/tx2-19.jpg?sign=1739278592-6FwB0SJdTUWeut5RrGedleHd3QcwSh48-0-4732d6032e833bdf7a83131abb1cf3a8)
图2-19 图表格式修改
最后进行页面配色,推荐使用主题功能。通过修改报告的主题,快速对报告所有页面及图表进行统一的主题设置。在菜单栏中单击“视图”“主题”,选择适合报告展示场景的主题风格,此处选择“边界”,如图2-20所示。
![](https://epubservercos.yuewen.com/0C2AEC/26540125201978306/epubprivate/OEBPS/Images/2.20.jpg?sign=1739278592-gk0MM7RDZn0CcdsMpP1g2kL2Flx5rRXT-0-08b916598876f551722dadbd035bc2a3)
图2-20 报告主题修改
2.制作各季节商品销售额同期对比图
在“可视化”窗格下,选择“折线和簇状柱形图”视觉对象按钮,将“产品信息表”中的季节字段拖入“X轴”、度量值[销售额]和[销售额同期]拖入“列y轴”、[销售额同比增长率]拖入“行y轴”,简单进行美化,生成各季节商品销售额同期对比图,如图2-21所示。
![](https://epubservercos.yuewen.com/0C2AEC/26540125201978306/epubprivate/OEBPS/Images/2-21.jpg?sign=1739278592-w1eQqPSEIlrDwLKequeupsHRq6bo4Tcr-0-9cc35f97ee4fcc33fc887a5e0976a67e)
图2-21 各季节商品销售额同期对比图
3.制作各品类销售额及折扣率对比图
在“可视化”窗格下单击“簇状条形图”视觉对象按钮,将“产品信息表”中的品类字段拖入“Y轴”、度量值[销售额]拖入“X轴”,简单美化后,生成各品类销售额对比图,如图2-22所示。
我们还需进一步对比各品类的折扣率,找到折扣率偏低的品类。该场景的对比图可以参照图2-21中的各季节商品销售额同期对比图,使用水平方向的“折线和簇状柱形图”,将[销售额]放在“列y轴”、[折扣率]放在“行y轴”。此处我们使用另外一种方法,通过对条形图进行颜色设置,根据颜色深浅判断折扣率的高低。
![](https://epubservercos.yuewen.com/0C2AEC/26540125201978306/epubprivate/OEBPS/Images/2-22.jpg?sign=1739278592-IAMDo3y6l0aD3Lsmgsu32oRIGqnYB95L-0-e3e888e744f7a7fff712d99cd4fd96ea)
图2-22 各品类销售额对比图
在“可视化”窗格中,选择“设置视觉对象格式”“视觉对象”“条形”“颜色”,单击“默认值”中的,如图2-23所示。进入“默认颜色-条形”界面,为数据颜色动态配色界面。
![](https://epubservercos.yuewen.com/0C2AEC/26540125201978306/epubprivate/OEBPS/Images/2.23.jpg?sign=1739278592-GgTHeQuuwhWFEESN08iaQ0aypByOzJZO-0-a7456017885704d7d8ea1dfde1a11383)
图2-23 数据颜色动态配色设置
在“格式样式”中选择“渐变”,在“应将此基于哪个字段?”中选择“折扣率”,在“最小值”和“最大值”中分别选择颜色,并勾选左下角的“添加中间颜色”,单击“确定”,如图2-24所示。
![](https://epubservercos.yuewen.com/0C2AEC/26540125201978306/epubprivate/OEBPS/Images/2.24.jpg?sign=1739278592-1gHHAZJlsK2dgXAh9IUSItMVxTRUvYrS-0-a329a9ed1ff24874651352ed7380809a)
图2-24 各品类折扣率动态配色设置
此时,图表展示各品类的销售额和折扣率。条形长度代表销售额,条形颜色代表折扣率,浅蓝色表示折扣率较低,红色表示折扣率居中,深蓝色表示折扣率较高。从图2-25中可以看出,女士防寒服的销售额和折扣率都非常高,裤套装、服饰配件的折扣率相对偏低。
![](https://epubservercos.yuewen.com/0C2AEC/26540125201978306/epubprivate/OEBPS/Images/2-25.jpg?sign=1739278592-xESdCLcvB8CJOt0XKNYERvxb2HNQSHpb-0-0d5f313682a6ae4b3f4881e2fd719e13)
图2-25 各品类销售额及折扣率对比
4.制作各区域销售额同期对比图
选择“折线和簇状柱形图”,将“门店信息表”中的区域字段拖入“X轴”,将“产品信息表”中的度量值[销售额]和[销售额同期]拖入“列y轴”、[销售额同比增长率]拖入“行y轴”,简单进行美化,初步生成各区域销售额同期对比图,如图2-26所示。
![](https://epubservercos.yuewen.com/0C2AEC/26540125201978306/epubprivate/OEBPS/Images/2-26.jpg?sign=1739278592-1746Xce2pv2oZXbOCy11y55jW8jStLUs-0-f9b3ece363cd1510c28e2ffa9fd7fc89)
图2-26 各区域销售额同期对比图
5.制作各经营业态销售额对比图
选择“环形图”,将“门店信息表”中的经营业态字段拖入“图例”,将“产品信息表”中的度量值[销售额]拖入“值”,简单进行美化,生成各经营业态销售额对比图,如图2-27所示。
![](https://epubservercos.yuewen.com/0C2AEC/26540125201978306/epubprivate/OEBPS/Images/2.27.jpg?sign=1739278592-XIh95xk6wvvXYkeIdIMMalxaQ2pI6tkK-0-016d987c1fdcdbadcdde21e5d8fb0016)
图2-27 各经营业态销售额对比
最后,对各图表的大小及位置进行微调,可视化报告制作完成,如图2-28所示。
![](https://epubservercos.yuewen.com/0C2AEC/26540125201978306/epubprivate/OEBPS/Images/2-28.jpg?sign=1739278592-Pc90xdtgpLcSdm3nWMOwHBeMekeN8BvW-0-ec518663419bf417822b3d799ca01cfa)
图2-28 可视化报告展示
2.3.6 报告发布
报告发布需要Power BI Pro账号。单击右上角“登录”按钮,根据提示输入用户名和密码,登录Pro账号。将报告保存为“案例演示”。单击“发布”,选择“我的工作区”,如图2-29所示。稍等片刻,报告发布成功。
![](https://epubservercos.yuewen.com/0C2AEC/26540125201978306/epubprivate/OEBPS/Images/2-29.jpg?sign=1739278592-F91uNIldSJ950Td1Dvdt4myOoxjbVHSx-0-9b59cea00e91210458b3d36ce7e2a266)
图2-29 选择发布工作区
登录Power BI Service,在“我的工作区”找到发布的“案例演示”文件。单击“文件”→“嵌入报表”→“发布到Web(公共)”,如图2-30所示。
![](https://epubservercos.yuewen.com/0C2AEC/26540125201978306/epubprivate/OEBPS/Images/2-30.jpg?sign=1739278592-DB0yAyedzBxtKlxUCSUnxjTECoCSmVPP-0-16609156351fe617dc81670617db2ab7)
图2-30 报告发布步骤
此时,Power BI Service生成了报告链接,如图2-31所示。将链接作为网址复制到网页端或移动端,就可以实现随时随地查看报告。
![](https://epubservercos.yuewen.com/0C2AEC/26540125201978306/epubprivate/OEBPS/Images/2-31.jpg?sign=1739278592-BLecJwFMhsjX9XDhYx6g7J4k0mmQ4zzf-0-5446975850b0ddc1f6165d7efb5640e1)
图2-31 生成报告链接