本案例重点介绍Power BI的基础知识,包括Power BI软件的操作界面功能介绍,以及用一个简单的案例演示利用Power BI进行数据分析的完整流程,帮助您快速入门Power BI的基础操作。

一、Power BI 基础知识

Power BI是微软推出的商业数据分析工具,能够帮助用户在复杂多变的商业环境下快速理清思路,发现数据中隐藏的见解和价值。

对于企业,Power BI是可以制定一整套商业智能解决方案的工具;对于个人,Power BI是自助式商业智能分析软件,即Power BI Desktop,可以快速实现自助式商业智能分析。

本教程的重点在于自助式商业分析,将着重介绍如何利用Power BI Desktop搭建数据分析模型。

Power BI Desktop是一款可在本地计算机上安装的、完全免费的应用程序。它不同于其他数据分析软件,是专门为数据分析师设计的,内置了业界领先的数据查询转换功能及数据建模功能,可将分析结果以专业、精美的可视化图表展现,最后可将报告分享至云端,供团队成员随时随地获得见解。

1、Power BI Desktop操作界面

Power BI Desktop操作界面包含六大视图,分别为“报表”视图、​“数据”视图、​“模型”视图、​“DAX查询”视图、​“TMDL”视图,对应于下图中标注的3个小图标。常用的是前三个视图,一般我们的BI报表都在前三个视图中完成。

本例我们重点介绍“报表”视图、​“数据”视图、​“模型”视图,另外二个视图在进阶教程中应用AI+BI时再作讲解。

1、“报表”视图介绍

Power BI Desktop的默认界面即为“报表”视图。​“报表”视图用于生成可视化图表,包含6个主要区域,如下图所示。

①功能区:包含获取数据、转换数据、新建视觉对象、新建度量值、报告发布等一系列功能对应的按钮。

②画布区域:用于创作和展现可视化图表及报告的区域,是Power BI可视化效果的直接展现。

③页面选项卡:用于选择、新建、删除报表页面。

④“筛选器”窗格:可在其中添加任意字段作为筛选字段,对可视化图表的数据进行筛选。

⑤“可视化”窗格:包含常用的可视化图表样式,可将字段和度量值拖入“可视化”窗格相应位置,制作各种可视化图表。

⑥“字段”窗格:用于显示所有查询报表的可用字段,可以将这些字段拖放到画布区域、​“筛选器”窗格或“可视化”窗格中,用于创建或修改可视化图表,也可以在任意一个查询中新建度量值或者计算列,以丰富模型的分析维度。

2、“数据”视图介绍

单击Power BI Desktop操作界面左侧的“数据视图”图标,进入“数据”视图。

​“数据”视图主要展示每张报表中每个字段的详细信息。​“数据”视图包含4个主要区域,如下图所示。

①功能区:包含新建表、新建列、调整字段的数据类型等功能的按钮或选项。

②当前视图:用于显示当前视图的字段明细,可以右击视图中的某一字段,进行排序、新建列等相关操作。

③“字段”窗格:用于显示所有查询报表的可用字段,但是字段在“数据”视图中不可通过拖曳进行可视化分析。

④状态栏:用于显示当前视图中选中列的行数及非重复值的个数。

3、“模型”视图介绍

单击Power BI Desktop操作界面左侧的“模型视图”图标,进入“模型”视图。

​“模型”视图主要显示模型中的所有表、列和关系。当模型加载多张表时,为了准确计算结果并在“报表”视图中显示正确信息,需要在表与表之间建立关系。

在上图中:“商品信息表”和“销售明细表”之间通过商品ID字段建立了一对多的关系。“商品信息表”包含主键商品ID字段,是关系的一端,​“销售明细表”是关系的多端。关系展现形式为一条从“商品信息表”​(一端)指向“销售明细表”​(多端)的实线。

这种建立关系的过程类似于在Excel中使用VLOOKUP函数,通过两张表的共同字段商品ID,将“商品信息表”中的相关列匹配进“销售明细表”​。不同之处在于,在Excel中需要进行多次VLOOKUP操作才能将“商品信息表”中的多列字段匹配进“销售明细表”​,效率低;而在Power BI Desktop中,只需在“商品信息表”和“销售明细表”间建立一次一对多的关系,​“商品信息表”的所有字段就和“销售明细表”产生了关联,过程非常简单、高效。

2、Power Query操作界面

Power Query是Power BI Desktop的内置组件,专门用于轻量级的ETL。

ETL是英文单词Extract(抽取)​、Transform(转换)​、Load(加载)的缩写,特指从数据源导入数据,将其进行数据转换后加载到数据模型中的过程。

作为专业的数据转换工具,Power Query可以实现个人自助领域绝大多数的数据转换,而且大部分通过单击鼠标即可轻松实现,这也契合了普通数据分析师的需求。Power Query操作界面包含6个主要区域,如下图所示。

①功能区:包含Power Query中数据导入、转换、加载等的各种功能对应的按钮,完成各种ETL操作。

②“查询”窗格:用于显示所有可用的查询视图,包括从数据源导入的原生表格以及在数据建模中通过新建表功能创建的表格。上图展示的是导入的案例数据中的1张工作表:商品信息表。

③编辑栏:用于显示每一步数据转换使用的M语言公式,或是在此处输入M语言公式进行数据转换。

④当前视图:用于显示当前查询视图的预览。在Power Query中对当前查询视图进行的任何操作都可以在此处看到操作效果,也可以右击某一列,进行数据转换操作。

⑤“查询设置”窗格:用于显示当前查询视图的名称,并且记录当前查询视图从数据导入到完成数据转换的每一个步骤。如果某一步操作有误,可以单击“应用的步骤”中相应步骤右侧的小齿轮图标,对相应步骤进行修改。

⑥状态栏:用于显示当前查询视图的相关重要信息,如总列数、行数,列分析的执行范围、执行时间。

二、Power BI数据分析的流程

利用Power BI进行数据分析,通常分为6个环节,如下图所示。

在上图中,业务理解是数据分析的起点。制作报告需要考虑的是:要解决哪些业务问题,涉及哪些业务指标,从哪些业务角度分析,分析的逻辑框架如何构建等。上述问题的解决就要求数据分析师对公司常用的指标、维度、分析场景了然于胸。

业务场景梳理完成后,就要有针对性地获取数据。由于业务的复杂程度不同,数据可能存在于多个业务系统、数据库或是Excel文件中;如果涉及市场环境、竞争对手、天气等分析场景,还要从网络中抓取数据。Power BI可以连接的数据源有数百个,它强大的数据获取能力可以让我们连接并获取到合规前提下我们所需要的几乎任何数据。

获取到的Power BI原始数据可能在数据结构、数据格式上并不能满足分析需求,甚至可能存在一些错误值。因此我们需要对数据进行一系列的加工、处理,用于生成符合条件的标准化表格。其中,常用的数据转换步骤包括字段的拆分、合并,字段信息的提取、数据类型转换、数据筛选、数据替换、多表合并等。数据转换是在Power Query中进行的。将原始数据导入Power Query,进行数据转换并检查无误后,加载到Power BI Desktop中进行数据建模。

在Power BI Desktop中建立数据模型,主要是构建表间关系。通常加载到Power BI Desktop中的各张表之间并不存在任何关系,我们可以根据客观的业务逻辑,将各表间相同的字段进行关联,从而将各张表连接成一个包含丰富的业务分析维度及客观事实数据的宽表(大平表),后期就依据该表进行一系列的业务分析。如果原始的表格及字段不能满足分析需求,还可以新建表及计算列,以丰富分析的维度。对于报告中涉及的各项数据指标,需要通过新建度量值,精准地定义其业务含义。

数据模型建立完成后,就可以拖曳各项维度字段及度量值,进行数据分析,制作可视化报告。如果说数据建模环节倚重于对技术知识的精通,那么报告制作环节则更依赖于业务知识的积累

对以下问题进行周全的考虑及精细化的设置,才能真正设计出一份满足业务需求的可视化报告。

  1. 分析的主题需要用到哪些指标?从哪些维度展开?
  2. 使用哪个可视化对象展现会使报表更加简明、清晰?
  3. 切片器如何设置?
  4. 哪些图表需要设计表间联动、下钻?
  5. 整个页面如何布局,才能全面展示问题也不会拥挤或冗余?
  6. 页面如何配色,才能清晰地展示分析结果且在风格上契合报告的展示场合?

最后一个环节是报告发布。可以通过Power BI Service、Power BI移动端将报告发布到云端,或者将报告链接分享至微信,便于随时随地查看,获得即时见解。

三、基于Power BI的零售数据分析

我们以浙江云欣商贸有限公司连锁零售数据为案例(模拟数据),利用Power BI进行数据分析的完整流程。帮助您快速、全面掌握Power BI数据分析各环节的基础操作。

1、业务理解

浙江云欣商贸有限公司主要以销售女装为主,现要分析其销售额和折扣率两项指标的数据表现,从时间维度、区域维度、商品维度发现销售异常,从而采取相应的调改措施。

根据业务需求,准备相应的数据源,分别为“门店信息表”​、​“商品信息表”​、​“日期表”和“销售明细表”​,如下表所示(其中,吊牌价、金额的单位为元,后同)​。数据源统一存放在本地Excel工作簿—“DEMO案例数据.xlsx”中。

基础数据准备完成,接下来需要将数据导入Power Query。

2、数据获取

打开一个新的Power BI Desktop文档,单击“获取数据”​,由于数据源存放在Excel工作簿中,选择“Excel工作簿”​,如下图所示。

通过文件路径找到目标Excel工作簿—“DEMO案例数据.xlsx”​,单击该工作簿后单击右下角“打开”​,如下图所示。

此时,​“导航器”窗口显示Excel工作簿下的所有工作表,根据建模需要进行选择。

此处“DEMO案例数据.xlsx”中的4张工作表都需要导入模型进行分析,全部勾选后单击右下方的“加载”或者“转换数据”​。

  1. ​“加载”表示直接将工作表加载到Power BI Desktop中进行建模分析
  2. ​“转换数据”则表示将工作表导入Power Query,对数据进行处理后再加载到Power BI Desktop中进行建模分析。

一般情况下,建议选择“转换数据”​,对工作表进行处理,检查无误后再加载到Power BI Desktop中,如果您对数据质量非常有信心,可以直接单击“加载”​。此处我们单击“转换数据”​,如下图所示。

3、数据转换

数据源在Power Query中进行数据转换的步骤都记录在其操作界面右侧的“查询设置”窗格中。

以“销售明细表”查询为例,可以看到下图中,Power Query已经自动进行了“源”​、“导航”​、“提升的标题”、​“更改的类型”4步操作。

其中,​“源”、​“导航”用于定位到目标查询,是查询的默认操作;​“提升的标题”和“更改的类型”是通过在Power Query中进行设置来确定是否由Power Query自动操作的,默认设置由Power Query自动完成操作。

要修改检测类型,需要单击“文件”→“选项和设置”→“选项”​,在“全局”→“数据加载”下的“类型检测”中,根据需要进行设置,如下图所示。

由于数据源是从系统中导出的,数据结构非常规范,此处不需要进行其他的数据转换操作,唯一要做的就是检查Power Query自动更改的数据类型是否符合业务需求。

数据中的吊牌价、数量、金额字段是整数类型,订单ID、门店ID、商品ID字段是文本类型,都和业务相符。日期字段此处自动修改为整数类型,与业务不符,需修改为日期类型,如下图所示。

选中“日期”列,单击功能区中的“数据类型”​,选择“日期”类型,如下图所示。

此时,Power Query提示是“替换当前转换”还是“添加新步骤”​,选择“替换当前转换”​,日期字段转换为日期类型。

数据类型转换操作虽然相对基础、简单,却是非常重要的。不恰当的数据类型会导致模型占用的内存增多,或者后期建模过程中出现错误。其他查询报表的数据转换操作与上述方法类似。所有报表都转换完成后,单击左上角“关闭并应用”按钮,将报表加载至Power BI Desktop。

4、数据建模

数据在Power BI Desktop中加载完成后,就可以进行建模、分析。

首先在各表间建立关系。单击Power BI Desktop操作界面左侧的“模型视图”图标,进入“模型”视图。依据业务逻辑,在各表间建立关系。​“销售明细表”作为事实表放在中间,​“门店信息表”​、​“商品信息表”和“日期表”作为维度表放在事实表周围,分别和“销售明细表”建立一对多关系,如下图所示。

关系建立完成后,要考虑模型中现有字段能否满足建模需求,如果不能满足,则需要新建计算表计算列来丰富模型的分析维度。

案例中的业务场景需要分析销售额和折扣率:

折扣率=销售额÷吊牌金额

模型的“销售明细表”中只有金额字段,没有吊牌金额字段,所以需要新建计算列来计算吊牌金额。

选择“数据”视图,在“字段”窗格中单击“销售明细表”​,然后单击“新建列”​,输入吊牌金额计算公式。

----------------------------------------------------------------------------------------------------------------------

吊牌金额 = [吊牌价]*[数量]

----------------------------------------------------------------------------------------------------------------------

吊牌金额计算列建立完成,如下图所示。

吊牌金额也可以通过新建度量值的方式计算得到。

度量值和计算列不同,计算列归属于某张具体表格,而度量值不归属于任何表格,它属于整个数据模型。

所以理论上可以在任何表格中新建度量值,而不影响它的使用。此处我们在“商品信息表”下新建度量值,计算[销售额]和[折扣率]指标。

单击“商品信息表”​,在菜单栏依次单击“表工具”​“新建度量值”,在编辑栏中输入以下公式:

----------------------------------------------------------------------------------------------------------------------

销售额 = SUM('销售明细表'[金额])

吊牌金额 = SUM('销售明细表'[吊牌金额])

折扣率% = DIVIDE([销售额],[吊牌金额])

----------------------------------------------------------------------------------------------------------------------

计算完[销售额],接下来计算[销售额-同期]及[销售额-同比增长率%]。

----------------------------------------------------------------------------------------------------------------------

销售额-同期 = CALCULATE([销售额],SAMEPERIODLASTYEAR('日期表'[日期]))

销售额-同比增长率% = DIVIDE([销售额]-[销售额-同期],[销售额-同期])

----------------------------------------------------------------------------------------------------------------------

这里要注意的是,每输入完一个度量值,要设置其格式。[销售额]、[销售额-同期]、[吊牌金额]为整数类型,[折扣率%]、[销售额-同比增长率%]为百分比类型。

5、报告制作

建模完成后,回到“报表”视图,制作可视化报告。

业务需求是从时间维度、区域维度、产品维度对销售额进行分析的,根据业务需求逐一制作可视化图表。

1)制作月度销售额趋势同期对比图

对于时间类型的分析通常选择水平方向的可视化对象,在“可视化”窗格中单击“折线图”视觉对象按钮。

将“日期表”中的月份名称字段拖入“X轴”​,将“商品信息表”中的度量值[销售额]和[销售额-同期]拖入“Y轴”​,快速生成月度销售额趋势对比图,如下图所示。

由于没有筛选年份,因此显示的是二年数据的本期和同期的销售额总和,没有对比的意义。

在“可视化”窗格中单击“切片器”视觉对象按钮,将“日期表”中的年字段拖入“字段”窗格,首先设置切片器的显示方式,单击“切片器”右上角的向下箭头,选择“磁贴”​,如下图所示。

然后设置切片器的显示方向,选中切片器,拖动边线调整高度,使切片器标签水平显示 。在“选择”选项中选择“单项选择”。

然后将下方的“切片器标头”关掉,最后在“切片器”中选择“2025”​。此时,​“折线图”正确显示了月度本期和同期销售额,如下图所示。

接下来简单进行图表美化。在“可视化”窗格下,单击“设置视觉对象格式”​“视觉对象”​,将“X轴”和“Y轴”的“标题”关掉;再单击“常规”​,修改图表标题为“月度销售额趋势同期对比”​,如下图所示。

最后进行页面配色,推荐使用主题功能。通过修改报告的主题,快速对报告所有页面及图表进行统一的主题设置。在菜单栏中单击“视图”​“主题”​,选择适合报告展示场景的主题风格,此处选择“边界”​,如下图所示。

2)制作各季节商品销售额同期对比图

在“可视化”窗格下,选择“折线和簇状柱形图”视觉对象按钮,将“商品信息表”中的季节字段拖入“X轴”​、度量值[销售额]和[销售额-同期]拖入“列Y轴”​、[销售额-同比增长率%]拖入“行Y轴”​,简单进行美化,生成各季节商品销售额同期对比图,如下图所示。

3)制作各品类销售额及折扣率对比图

在“可视化”窗格下单击“簇状条形图”视觉对象按钮,将“商品信息表”中的品类字段拖入“Y轴”​、度量值[销售额]拖入“X轴”​,简单美化后,生成各品类销售额对比图,如下图所示。

我们还需进一步对比各品类的折扣率,找到折扣率偏低的品类。该场景的对比图可以参照图“各季节商品销售额同期对比图”,使用水平方向的“折线和簇状柱形图”​,将[销售额]放在“列y轴”​、[折扣率]放在“行y轴”​。此处我们使用另外一种方法,通过对条形图进行颜色设置,根据颜色深浅判断折扣率的高低。

在“可视化”窗格中,选择“设置视觉对象格式”​“视觉对象”→​“条形”→​“颜色”​,单击“默认值”中的fx,如下图所示。进入“默认颜色-条形”界面,为数据颜色动态配色界面。

在“格式样式”中选择“渐变”​,在“应将此基于哪个字段?​”中选择“折扣率”​,在“最小值”和“最大值”中分别选择颜色,并勾选左下角的“添加中间颜色”​,单击“确定”​,如下图所示。

此时,图表展示各品类的销售额和折扣率。条形长度代表销售额,条形颜色代表折扣率,浅蓝色表示折扣率较低,红色表示折扣率居中,深蓝色表示折扣率较高。从下图中可以看出,女防寒服的销售额和折扣率都非常高,西服套装、服饰配件的折扣率相对偏低。

4)制作各区域销售额同期对比图

选择“折线和簇状柱形图”​,将“门店信息表”中的区域字段拖入“X轴”​,将“商品信息表”中的度量值[销售额]和[销售额-同期]拖入“列Y轴”​、[销售额-同比增长率%]拖入“行Y轴”​,简单进行美化,初步生成各区域销售额同期对比图,如下图所示。

5)制作各经营业态销售额对比图

选择“环形图”​,将“门店信息表”中的经营业态字段拖入“图例”​,将“商品信息表”中的度量值[销售额]拖入“值”​,简单进行美化,生成各经营业态销售额对比图,如下图所示。

最后,对各图表的大小、位置、数值、标题等进行微调,插入报表标题(文本框),可视化报告制作完成,如下图所示。

6)报告发布

报告发布需要Power BI Pro账号(要用企业邮箱进行注册)。单击右上角“登录”按钮,根据提示输入用户名和密码,登录Pro账号。报告发布前必须保存。

单击“发布”​,选择“我的工作区”​,如下图所示。

稍等片刻,报告发布成功。

登录Power BI Service(单击上图中文件链接),在“我的工作区”找到发布的文件。单击“文件”→“嵌入报表”→“发布到Web(公共)​”​,如下图所示。

此时,Power BI Service生成了报告链接,如下图所示。将链接作为网址复制到网页端或移动端,就可以实现随时随地查看报告。

地址:

https://app.powerbi.com/view?r=eyJrIjoiNGFmNGZlNjQtYzgxNS00NDE0LTg0MmEtZmVlNzE5OTZmNjE4IiwidCI6IjE2ZjZmNmQ2LWEwM2EtNDVmNC05MjJjLTMxMWJjZDhmMTc1ZSJ9

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐