数据分析师必备技能之PowerBI教程

本文详细介绍PowerBI在数据获取、清洗、建模及可视化方面的应用技巧。覆盖PowerPivot、PowerQuery等工具介绍,以及M函数、DAX公式的使用方法。通过实际案例帮助读者掌握PowerBI的数据分析全流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

通过动手实践一些教程,总结一些经验。

PowerBI常用工具:PowerPivot、PowerQuery

一、数据获取-PoweBI 支持从多种数据源导入数据

1、自本地获取数据(本地文件更新,模型数据也会更新)

  • 自本地文件夹
  • 自本地文件
  • Excel、 SQL Server、 Access
  • SAP、 Oracle、 MySQL、 DB2

2、自Web抓取数据

二、数据清洗

1、提升/拉低标题

  • 在 Excel 中第一行为标题行,从第二行开始才是数据,但在 PQ 中,从第一行开始就需要是数据记录,标题在数据之上
  • 点击「转换」的「将第一行作为标题」or「将标题作为第一行」

2、更改数据类型

  • 后期数据建模和可视化过程中,很有可能会出现一些意想不到的错误,最后发现是数据类型设置的不对,所以一开始就养成设置数据类型的好习惯

3、删除错误(Error)/空值(null)

  • 数据导入后,有可能出现错误(Error)或者空值(null)
  • 「删除错误」、「替换错误」、「取消勾选(null)」

4、删除重复项

  • 选中需要删重的列,右键选择「删除重复项」

5、填充

  • 在 Excel 数据中经常会见到合并单元格的情况,导入后就变成了空值
  • 「转换」->「填充」->「向下」

6、合并列

  • 选择需要合并的列,然后在「转换」中找到”合并列“,弹出合并列窗口

7、拆分

  • 拆分相当于是合并列的反动作,不过功能更丰富,可以选着按字符数,也可以选择按分隔符,如果列中包含多个分隔符,还可以选择按哪个位置的分隔符来拆分
  • 「转换」->「拆分列」

8、分组

  • 相当于 Excel 中的分类汇总功能
  • 「转换」->「分组依据」

9、提取

  • PQ 的提取功能可以按照长度、首字符、尾字符、范围等来提取

10、行列转置

  • 数据处理有的时候需要行列互相转换一下
  • 「转换」->「将标题作为第一行」->「转置」

11、行列操作

  • 「选择行/列」、「删除行/列」、「保留行/列」

12、逆透视列

  • 由于数据分析的需要,我们经常要将二维表变为一维表,之前在 Excel 中需要很多操作步骤才能完成,而通过逆透视功能,可以一键降为一维表,多列属性表转为一维表【属性】+【值】
  • 「转换」->「逆透视其他列」

注:

 一维表二维表
概念每一个字段都是独立参数,如姓名、科目、分数字段非独立字段,如数学、英语、语文是属于科目维度,不是独立字段
优点一维表最适合透视、数据分析的数据存储结构二维表用于展示数据更直观
 
姓名科目分数
张三数学89
李四数学71
张三语文98
李四语文79
张三英语82
李四英语77
姓名/科目数学英语语文总计
张三898298269
李四717779227
王五796877224

转换

方式

一维表转二维表:

  • 透视表

  • SQL语句CASE WHEN转

二维表转一维表:

  • 逆透视

  • 函数

  • 第三方插件,比如易用宝

总结

数据录入建议都采用一维表

数据分析人员建议使用一维表,无论是表格还是数据库计算都简单方便

对外展示建议使用二维表

 13、透视列

  • 做分析需要一维表,而为了展现的需要,常常还要把一维表变成二维表,也就是 Excel 中的数据透视,在 PQ 中同样可以一键透视,比如把刚才的一维表变成原样,聚合方式选择“不要聚合”。

三、数据丰富

做数据分析的时候还经常需要在原有数据的基础上增加一些辅助数据,比如加入新列、新行,或者从其他表中添加进来更多维度的数据,这些就是数据丰富的过程。

1、添加列

Power Query 中添加列有四种形式,重复列、索引列、条件列、自定义列:

  • 添加重复列:重复列就是把选中的列复制一列,以便对该列的数据进行处理而不损坏原有列的数据
  • 添加索引列:索引列就是为每行增加个序号,记录每一行所在的位置,可以从 0 或者 1 开始
  • 添加条件列:添加一列根据指定条件从其他列计算的数据,打开窗口看看,其实就是 if 函数
  • 添加自定义列:自定义列就是用 M 函数生成新的一列

2、追加查询

追加查询是在现有记录的基础上,在下边添加新的行数据,是一种纵向合并,比如有两个表格式相同,需要合并为一个表,点击“追加查询”

3、合并查询

如果说追加查询是纵向合并,那么合并查询就是横向合并,相当于 Excel 的 VLOOKUP 功能,就是匹配其他表格中的数据,不过 PQ 中的合并查询要比 VLOOKUP 功能强大的多,并且操作也更简单。

四、M函数

简单的操作通过鼠标点击,有些复杂的操作必须借助 M 函数,M 函数更加灵活,简洁高效。
M 函数基本规范:

  • M 函数对大小写敏感,每一个字母必须按函数规范书写,第一个字母都是大写
  • 表被称为 Table,每行的内容是一个 Record,每列的内容是一个 List
  • 行标用大括号{ },比如取第一行的内容: =表{0} //PQ 的第一行从 0 开始
  • 列标用中括号[ ],比如取自定义列的内容: =表[自定义]
  • 取第一行自定义列的内容: =表{0}[自定义

常用的 M 函数:

• 聚合函数:

求和: List.Sum()
求最小值: List.Min()
求最大值: List.Max()
求平均值: List.Average()
• 文本函数:
求文本长度: Text.Length()
去文本空格: Text.Trim()
取前 n 个字符: Text.Start(文本,n)
取后 n 个字符: Text.End(文本,n)
• 提取数据函数:
从 Excel 表中提取数据: Excel.Workbook()
从 Csv/Txt 中提取数据: Csv.Document()
• 条件函数:
if else then (相当于 Excel 中的 IF)

五、数据建模

基数:

  • 基数就是两个连接字段的对应关系,分为多对一、一对一和一对多,一对多和多对一其实是一样的,实际上就是两种关系:
  • 多对一(*: 1):这是最常见的类型,代表一个表中的关系列有重复值,而在另一个表中是单一值
  • 一对一(1: 1):两个表是一对一的关系,列中的每个值在两个表中都是唯一的
  • 具有唯一值的表通常称为“查找表”,而具有多个值的表称为“引用表”。在上述的关系图上,产品明细表上类别手机、平板、电脑都不是唯一的,每个品牌都有这种类型,是个引用表;但类别表上,几种类别都是唯一值,因此这两个表是多对一的关系,类别表也就是查找表

交叉筛选方向:
表示数据筛选的流向,有两种类型:

  • 双向:两个表可以互相筛选
  • 单向:一个表只能对另一个表筛选,而不能反向

度量值:用DAX公式创建一个虚拟字段的数据值,她不改变源数据,也不改变数据模型

【主页】->【输入数据】->【表名称】:度量值->【加载】,创建度量值表。

上下文:度量值所处的环境,筛选表的行列标签、切片器的选中,都是度量值的上下文

度量值特点:

  • 度量值不浪费内存,只有被拖到图表上才执行运算,如果数据量非常大的时候这点非常有利
  • 度量值可以循环使用,直接调用之前建立好的度量值,在以后模型中新建度量值的时候,推荐从最简单的度量值开始建

DAX:Data Analysis Expression的缩写,意思是数据分析表达式,DAX公式是用作数据分析的

注:除非特别有必要,不建议用新建列的方式做数据丰富,这样更占用内存,如果想增加一列,可以在源数据上,回到查询编辑器里面增加一列然后上载到数据模型中使用。

DAX参数的基本格式:

  • 表名用单引号' '括着 // '日期表'
  • 字段用中括号[ ]括着 //[日期]
  • 度量值也是用中括号[ ]
  • 引用字段始终要包含表名,以和度量值区分开

聚合函数

  • SUM
  • AVERAGE
  • MIN
  • MAX
  • SUMX
  • AVERAGEX
  • MINX
  • MAXX
  • RANKX
  • COUNT:计数
  • COUNTROWS:计算行数
  • DISTINCTCOUNT:计算不重复值的个数

X这几个函数可以循环访问表的每一行,并执行计算,所以也被称为迭代函数。

时间智能函数

  • PREVIOUSYEAR/Q/M/D:上一年/季/月/日
  • NEXTYEAR/Q/M/D:下一年/季/月/日
  • TOTALYTD/QTD/MTD:年/季/月初至今
  • SAMEPERIODLASTYEAR:上年同期
  • PARALLELPERIOD:上一期
  • DATESINPERIOD:指定期间的日期

关于时间智能函数,利用它可以灵活的筛选出一段我们需要的时间区间,做同比、环比、滚动预测、移动平均等数据分析时,都会用到这类函数。

筛选函数

  • FILTER:筛选
  • ALL:所有值,可以清除筛选
  • ALLEXCEPT:保留指定列
  • VALUES:返回不重复值

这几个函数,就是典型的DAX查询函数,通过筛选来操纵上下文的范围。

重要且常用函数CALCULATE

CALCULATE(<expression>,<filter1>,<filter2>…)

  • 第一个参数是计算表达式,可以执行各种聚合运算
  • 从第二个参数开始,是一系列筛选条件,可以为空;如果多个筛选条件,用逗号分隔
  • 所有筛选条件的交集形成最终的筛选数据集合
  • 根据筛选出的数据集合执行第一个参数的聚合运算并返回运算结果

使用时:

  • 筛选条件为空,不影响外部上下文
  • 添加限制条件,缩小上下文
  • 结合ALL函数,扩大上下文(通常用于做占比分析)
  • 重置上下文

FILTER(<table>,<filter>)

  • 第一个参数<table>是要筛选的表
  • 第二个参数<filter>是筛选条件
  • 返回的是一张表,不能单独使用,需要与其他函数结合使用

CALCULATE([产品数量],'产品明细'[品牌]="苹果")

等同于:

CALCULATE([产品数量], FILTER(ALL('产品明细'[品牌]),'产品明细'[品牌]="苹果"))

如果要做更复杂的运算,通过简单的布尔表达式根本无法实现,必须借助FILTER。

EARLIER(<column>, <number>)

  • 第一个参数是列名
  • 第二个参数一般可省略
  • EARLIER 函数提取本行对应的该列的值,实际上就是提取本行和参数列交叉的单元格

六、可视化

1、柱形图

  • 堆积柱形图
  • 簇状柱形图
  • 百分比堆积柱形图
柱形图堆积柱形图簇状柱形图百分比堆积柱形图
特征
  • 不同的序列在一根柱子上显示
  • 可以直接比较总量的大小
  • 分类序列的数值比较功能弱化
  • 不同序列使用不同的柱子
  • 可以比较各序列的数值大小
  • 总量比较功能弱化
  • 不同序列使用不同的柱子
  • 可以比较各序列的数值大小
  • 总量比较功能弱化
样式

一个合格的柱形图:纵横轴清晰、有图例、有数据单位、和图表呼应的标题,养眼的色彩搭配。

2、树状图(矩形树图)

  • 单层树状图
  • 双层树状图

树状图的使用场景:

  • 要显示大量的分层数据
  • 条形图不能有效地处理大量值
  • 要显示每个部分与整体之间的比例
  • 要显示层次结构中指标在各个类别层次的分布的模式
  • 要使用大小和颜色编码显示属性
  • 要发现模式、离群值、最重要因素和异常
  • 相比条形图、折线图,没有任何空白区域,空间利用率高

3、地图

  • 气泡地图-Bubble Map
  • 着色地图-Filled Map
  • ArcGIS Map

七、图表钻取交互

查看可视化图表的时候,我们可能想深入了解某个视觉对象的更详细信息,或者进行更细粒度的分析,比如看到2017年的总体数据,同时想知道每个季度甚至每个月的数据,通过PowerBI的钻取功能,可以点击鼠标轻松实现。其实只要是数据结构有层级关系,无论是什么类型,都可以进行钻取操作。(钻取日期时间、地理位置)

钻取到下级层级的数据有两种方式:

  • 通过图表右上角的向下箭头“启用深化”,启用“深化”以后,直接点击需要钻取的数据对象
  • 使用顶部 Power BI“数据/钻取”选项卡

编辑交互:选中任何一个可视化对象,在 Desktop 中,点击“格式”>“交互”,选择“编辑交互”。

针对现在选中的筛选条件,对每个可视化对象进行设置:

  • 如果需要响应该筛选,则选择“筛选”图标
  • 如果不希望被筛选,则选择“不起作用”图标
  • "突出显示"与上面的筛选功能相比,最大的优点就是不仅被筛选出来,还可以保留其余数据点的上下文

参考

1、干货合辑 | 最全的PowerBI教程,都在这里了

2、干货 | 无需企业邮箱,免费可发布到Web的Power BI账户注册秘籍

Power-BI是一款(BI)商业智能软件,是珠海奥威软件科技有限公司自主研发的软件产品,全称是:Power-BI决策分析系统。 课程简介 本课程在《Power BI 数据分析快速上手》基础上结合大量的实例,深入讲解PowerBI中看似难懂的各种概念、操作, 并结合行业中的典型案例贯穿了从初级的数据透视表工具、数据透视表选项、数据透视表的刷新、数据透视表中的排序,到中级的动 态数据透视表的创建、数据透视表函数 GETPIVOTDATA 的使用、在数据透视表中执行计算项、 可视化透视表切片器等技能点,再到高级部分的使用 SQL 语句导入外部数据源创建透视表、使用 Microsoft Query创建透视表、PowerPivot 与数据透视表、数据透视图,以及最终的一页纸Dashboard 报告呈现, 都进行了详细的讲解。 本课程适合想提高 Power BI 的数据分析人员,特别是经常需要整理大量数据的相关人员。 课程目录 第1章:【Power BI 数据分析快速上手】Power BI概述、Power Map、Power Query初识 1. Power BI简介 2.Power BI组成部分 3.Power BI的DWT 4.Power BI的版权及费用 5.Power BI的安装及演示 6.Power BI四大护法 7.Power Map之静态地图 8.Power Map之动态地图 9.Power View之功能加载 10.Power View之高交互式可视化报表使用 11.Power Query之花样数据导入 12.Power Query之数据合并(横向合并) 13.Power Query之数据合并(纵向合并) 14.Power Query之M函数 第2章:【Power BI 数据分析快速上手】Power BI之Power Pivot插件详解 15.Power Pivot之数据导入 16.Power Pivot之层次结构创建 17.Power Pivot之创建KPI 18.Power Pivot之DAX函数(一) 19.Power Pivot之DAX函数(二) 20.Power Pivot之多维数据模型的创建 第3章:【Power BI 数据分析快速上手】综合案例:Power BI之大气质量数据分析 21.案例分析_大气质量(城市信息准备工作) 22.大气质量(导入大气质量文件夹数据) 23.大气质量(处理数据) 24.大气质量(Power View界面) 25.大气质量(基于Power View界面)制作仪表板 26.大气质量(切片器样式处理) 27.大气质量(控件绑定) 28.大气质量(组合图实现) 29.大气质量(完成值联动) 30.大气质量(气泡地图制作) 第4章:Power BI Desktop 可视化应用实战 31.概念 32.运作方式 33.安装并运行 34.三种视图 35.查询编辑器 36.连接并调整数据 37.合并数据 38.创建图表 第5章:Power BI 实战:财务指标-杜邦分析仪 39.财务杜邦分析仪的概念 40.财务杜邦分析仪制作(1) 41.财务杜邦分析仪制作(2) 42.财务杜邦分析仪制作(3) 43.财务杜邦分析仪制作(4) 44.财务杜邦分析制作仪(5) 第6章:Power BI 实战:销售运营管理数据分析 45.销售漏斗关系 46.搭建多维数据模型 47.洞察风险 48.故事序章 49.故事展开 50.故事高潮 51.故事尾声 52.P0WER QUERY数据处理(1) 53.P0WER QUERY数据处理(2) 54. P0WER QUERY数据处理(3) 55.P0WER PIVOT数据处理(1) 56.P0WER PIVOT数据处理(2) 57.P0WER PIVOT数据处理(3) 58.作业
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值