![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=1738821274-0J8n7pjNxZ9bNeySU60rb5UCCu3dKsCJ-0-f8ac479a10a1eef16e136abe8ab4cf38)
表2-2 产品信息表
![](https://epubservercos.yuewen.com/0C2AEC/26540125201978306/epubprivate/OEBPS/Images/x4.jpg?sign=1738821274-CqoKAchQ6KqC4htMj4WjtmxWiyFoLUZV-0-c8183e2394524b7a176065057750f48d)
表2-3 日期表
![](https://epubservercos.yuewen.com/0C2AEC/26540125201978306/epubprivate/OEBPS/Images/x5.jpg?sign=1738821274-LPZnXzuKWdIgODUa7Mw3blEcG3sl0BM3-0-26e238e2b042494992d0de2d7d288625)
表2-4 销售表
![](https://epubservercos.yuewen.com/0C2AEC/26540125201978306/epubprivate/OEBPS/Images/x6.jpg?sign=1738821274-NuAnQQpJP7zEMp8vtzGXtIXPjflBgF3o-0-06c431c982dff13f1ca52ac93c749479)
基础数据准备完成,接下来需要将数据导入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=1738821274-QoAMEQhfIQL52ZeOMZRwmPebiYmyqdbL-0-94b5f4f5ada317a0697f5e0423f83f42)
图2-7 选择数据源类型
通过文件路径找到目标Excel工作簿——“示例数据”,单击该工作簿后单击右下角“打开”,如图2-8所示。
![](https://epubservercos.yuewen.com/0C2AEC/26540125201978306/epubprivate/OEBPS/Images/tx2-8.jpg?sign=1738821274-CWmTh7omr0PZNaMXGLkjC3U70Iqc0Q7D-0-d751096863417888f50b70594526e06e)
图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=1738821274-HEHdh2cjfT6thHRvPQ48G7BXFL4g2eng-0-f71583c7de029e059b80b4f8c0a0e9ae)
图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=1738821274-LdgPI1PyWdSj9Mm3CNw0szODkcgkOPOA-0-4ba3fc89e03fb80ad755f7024ad6f3a6)
图2-10 “查询设置”窗格记录数据转换步骤
![](https://epubservercos.yuewen.com/0C2AEC/26540125201978306/epubprivate/OEBPS/Images/2.11.jpg?sign=1738821274-sueQvbuU9lLtP8FHx9s2zG3ZATdYa1hv-0-1a991fa279e3562468161d6ba4a685b2)
图2-11 在Power Query中设置“类型检测”
由于数据源是从系统中导出的,数据结构非常规范,此处不需要进行其他的数据转换操作,唯一要做的就是检查Power Query 自动更改的数据类型是否符合业务需求。数据中的订单ID、吊牌价、数量、金额字段是整数类型,门店ID、产品ID字段是文本类型,都和业务相符。日期字段此处自动修改为整数类型,与业务不符,需修改为日期类型,如图2-12所示。
![](https://epubservercos.yuewen.com/0C2AEC/26540125201978306/epubprivate/OEBPS/Images/2.12.jpg?sign=1738821274-TqjoXNWf6cO1tcobXVOSCSFgSNE3gR4X-0-51d2b2ced8e843fa85567a94d2fd29b1)
图2-12 Power Query数据类型检查
选中“日期”列,单击功能区中的“数据类型”,选择“日期”类型,如图2-13所示。
![](https://epubservercos.yuewen.com/0C2AEC/26540125201978306/epubprivate/OEBPS/Images/2.13.jpg?sign=1738821274-XfVTpDhhISMVDQgYKOi27oH75qkV2L4d-0-7a9623c8cd1bc6b2f0928a7db53325e2)
图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=1738821274-jXzxFGjtjadedeUYftdRcbvHdPrVG4By-0-ea23c11bca940ed97463f1c033231eb7)
图2-14 表间关系建立
关系建立完成后,要考虑模型中现有字段能否满足建模需求,如果不能满足,则需要新建计算表或计算列来丰富模型的分析维度。案例中的业务场景需要分析销售额和折扣率,折扣率=销售额÷吊牌金额。模型的“销售表”中只有金额字段,没有吊牌金额字段,所以需要新建计算列来计算吊牌金额。
选择“数据”视图,在“字段”窗格中单击“销售表”,然后单击“新建列”,输入吊牌金额计算公式。
“销售表”中的计算列
吊牌金额=
[吊牌价] × [数量]
吊牌金额计算列建立完成,如图2-15所示。
![](https://epubservercos.yuewen.com/0C2AEC/26540125201978306/epubprivate/OEBPS/Images/2.15.jpg?sign=1738821274-nv2NWx54Rz4VmgJPgriImx4scqzEGcdN-0-392412fad3f241cf358d835432ccba40)
图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=1738821274-TG8FbgkYSfNxO2EMRFUi5gIAA5Sj6t3V-0-f31fd22f4a7b5a93cf8768c7e0bf514b)
图2-16 快速生成月度销售额趋势同期对比图
在“可视化”窗格中单击“切片器”视觉对象按钮,将“日期表”中的年字段拖入“字段”窗格,首先设置切片器的显示方式,单击“切片器”右上角的向下箭头,选择“列表”,如图2-17所示。然后设置切片器的显示方向,在“可视化”窗格中单击“设置视觉对象格式”“视觉对象”“切片器设置”“选项”“方向”,选择“水平”,然后将下方的“切片器标头”关掉,最后在“切片器”中选择“2019”。此时,“折线图”正确显示了月度本期和同期销售额,如图2-18所示。
![](https://epubservercos.yuewen.com/0C2AEC/26540125201978306/epubprivate/OEBPS/Images/2.17.jpg?sign=1738821274-k9FjxAYdkPDcw5mhHtVDt5iLMMaaVKGZ-0-0b4b3f112eff4a2a8020b08fb7ccae22)
图2-17 设置切片器显示方式为“列表”
![](https://epubservercos.yuewen.com/0C2AEC/26540125201978306/epubprivate/OEBPS/Images/2-18.jpg?sign=1738821274-45kzcvL9CWHHUDtV5xyLClaxOUgTePMK-0-f140b4c118e4b2bff0503443dfdbedd4)
图2-18 Year切片器筛选“折线图”
接下来简单进行图表美化。在“可视化”窗格下,单击“设置视觉对象格式”“视觉对象”,将“X轴”和“Y轴”的“标题”关掉;再单击“常规”,修改图表标题为“月度销售额趋势同期对比”,如图2-19所示。
![](https://epubservercos.yuewen.com/0C2AEC/26540125201978306/epubprivate/OEBPS/Images/tx2-19.jpg?sign=1738821274-hUkHRlpjZxE8cF5ZAdjkDniivfqu5I3w-0-ba5058a3e16d2bdd37c81e2c24efddf1)
图2-19 图表格式修改
最后进行页面配色,推荐使用主题功能。通过修改报告的主题,快速对报告所有页面及图表进行统一的主题设置。在菜单栏中单击“视图”“主题”,选择适合报告展示场景的主题风格,此处选择“边界”,如图2-20所示。
![](https://epubservercos.yuewen.com/0C2AEC/26540125201978306/epubprivate/OEBPS/Images/2.20.jpg?sign=1738821274-Vhq51MLJON7UTZymKGHcOldlcnrXIT8E-0-92f9a8f2da153baf0da381efa017c008)
图2-20 报告主题修改
2.制作各季节商品销售额同期对比图
在“可视化”窗格下,选择“折线和簇状柱形图”视觉对象按钮,将“产品信息表”中的季节字段拖入“X轴”、度量值[销售额]和[销售额同期]拖入“列y轴”、[销售额同比增长率]拖入“行y轴”,简单进行美化,生成各季节商品销售额同期对比图,如图2-21所示。
![](https://epubservercos.yuewen.com/0C2AEC/26540125201978306/epubprivate/OEBPS/Images/2-21.jpg?sign=1738821274-XwQ9yMbKV5k2Fugtn14kXOTczKYFn3Ty-0-bf91d1ead249fc12d2077145193725f5)
图2-21 各季节商品销售额同期对比图
3.制作各品类销售额及折扣率对比图
在“可视化”窗格下单击“簇状条形图”视觉对象按钮,将“产品信息表”中的品类字段拖入“Y轴”、度量值[销售额]拖入“X轴”,简单美化后,生成各品类销售额对比图,如图2-22所示。
我们还需进一步对比各品类的折扣率,找到折扣率偏低的品类。该场景的对比图可以参照图2-21中的各季节商品销售额同期对比图,使用水平方向的“折线和簇状柱形图”,将[销售额]放在“列y轴”、[折扣率]放在“行y轴”。此处我们使用另外一种方法,通过对条形图进行颜色设置,根据颜色深浅判断折扣率的高低。
![](https://epubservercos.yuewen.com/0C2AEC/26540125201978306/epubprivate/OEBPS/Images/2-22.jpg?sign=1738821274-M6awrV3AEApzzMv5i6VpOivmL2P4jl6Q-0-5d85ab4f169afca28ee5f1d0d1c8da26)
图2-22 各品类销售额对比图
在“可视化”窗格中,选择“设置视觉对象格式”“视觉对象”“条形”“颜色”,单击“默认值”中的,如图2-23所示。进入“默认颜色-条形”界面,为数据颜色动态配色界面。
![](https://epubservercos.yuewen.com/0C2AEC/26540125201978306/epubprivate/OEBPS/Images/2.23.jpg?sign=1738821274-i98qkoVVJbQvcaSTgoyJeMtUuZRSmsc4-0-f433700bacf1b33e37cda99d65ef9566)
图2-23 数据颜色动态配色设置
在“格式样式”中选择“渐变”,在“应将此基于哪个字段?”中选择“折扣率”,在“最小值”和“最大值”中分别选择颜色,并勾选左下角的“添加中间颜色”,单击“确定”,如图2-24所示。
![](https://epubservercos.yuewen.com/0C2AEC/26540125201978306/epubprivate/OEBPS/Images/2.24.jpg?sign=1738821274-BbYvBVlUHl9EoFdmvO2vfQvoPZhBt6ye-0-de1d38be18dfc42ea3b66f6b79fc09a6)
图2-24 各品类折扣率动态配色设置
此时,图表展示各品类的销售额和折扣率。条形长度代表销售额,条形颜色代表折扣率,浅蓝色表示折扣率较低,红色表示折扣率居中,深蓝色表示折扣率较高。从图2-25中可以看出,女士防寒服的销售额和折扣率都非常高,裤套装、服饰配件的折扣率相对偏低。
![](https://epubservercos.yuewen.com/0C2AEC/26540125201978306/epubprivate/OEBPS/Images/2-25.jpg?sign=1738821274-W2tDyB5K05R6IXjBLixRxsBciUlInRIC-0-d0ba29003f08e2a493856ade24958a0c)
图2-25 各品类销售额及折扣率对比
4.制作各区域销售额同期对比图
选择“折线和簇状柱形图”,将“门店信息表”中的区域字段拖入“X轴”,将“产品信息表”中的度量值[销售额]和[销售额同期]拖入“列y轴”、[销售额同比增长率]拖入“行y轴”,简单进行美化,初步生成各区域销售额同期对比图,如图2-26所示。
![](https://epubservercos.yuewen.com/0C2AEC/26540125201978306/epubprivate/OEBPS/Images/2-26.jpg?sign=1738821274-39yarin54pC2WVN909DUe1rGkyMnSeVm-0-76c309be876a9be488056c466b37ecc3)
图2-26 各区域销售额同期对比图
5.制作各经营业态销售额对比图
选择“环形图”,将“门店信息表”中的经营业态字段拖入“图例”,将“产品信息表”中的度量值[销售额]拖入“值”,简单进行美化,生成各经营业态销售额对比图,如图2-27所示。
![](https://epubservercos.yuewen.com/0C2AEC/26540125201978306/epubprivate/OEBPS/Images/2.27.jpg?sign=1738821274-dp5nzNSnUBpxEDcBXW9i4M75yvzyyEd9-0-aaa4325fb59b340b4592b24b4334bdd4)
图2-27 各经营业态销售额对比
最后,对各图表的大小及位置进行微调,可视化报告制作完成,如图2-28所示。
![](https://epubservercos.yuewen.com/0C2AEC/26540125201978306/epubprivate/OEBPS/Images/2-28.jpg?sign=1738821274-EpuV2SD7bpXvFNXd6EJP32ietcy1ugJC-0-263ef01d4b522236158dee48340f3924)
图2-28 可视化报告展示
2.3.6 报告发布
报告发布需要Power BI Pro账号。单击右上角“登录”按钮,根据提示输入用户名和密码,登录Pro账号。将报告保存为“案例演示”。单击“发布”,选择“我的工作区”,如图2-29所示。稍等片刻,报告发布成功。
![](https://epubservercos.yuewen.com/0C2AEC/26540125201978306/epubprivate/OEBPS/Images/2-29.jpg?sign=1738821274-noe4jDk8AlQ5eNPzLiKTWD4HM1BI728l-0-7293b9219137a0b966ab8f3a3a5c3b04)
图2-29 选择发布工作区
登录Power BI Service,在“我的工作区”找到发布的“案例演示”文件。单击“文件”→“嵌入报表”→“发布到Web(公共)”,如图2-30所示。
![](https://epubservercos.yuewen.com/0C2AEC/26540125201978306/epubprivate/OEBPS/Images/2-30.jpg?sign=1738821274-SeFYtXJKD8FtAB8uT98DT9OhKXXLQi0h-0-59c5ba675c904bed66d3dd5e2f9b3cff)
图2-30 报告发布步骤
此时,Power BI Service生成了报告链接,如图2-31所示。将链接作为网址复制到网页端或移动端,就可以实现随时随地查看报告。
![](https://epubservercos.yuewen.com/0C2AEC/26540125201978306/epubprivate/OEBPS/Images/2-31.jpg?sign=1738821274-ZLbWLP6EtHmMA6EgviZ416CjxwsGEzQs-0-837801810ae04dd356632a3c23cfd21b)
图2-31 生成报告链接