Power BI 是微软推出的数据分析和可视化工具
PowerBI绘图一般分为三个步骤:选择可视化图表,图标字段选择,图标格式设计。
power Query:pq 超级查询,
power pivot PP 就是超级透视
powerbi操作:
二维表转化为一维表:
透视:一维表转二维表。
逆透视:二维表转化为一维表。
PowerQuery 常用的数据清洗十三招
1.提升标题
在 Excel 中第一行为标题行,从第二行开始才是数据,但在 PQ 中,从第一行开始就需要是数据记录,标题在数据之上
2.更改数据类型
两种更改数据类型的方式。
3.删除空值/错误
4删除重复值
5.填充
在 Excel 数据中经常会见到合并单元格的情况,导入后就变成了空值
6.合并列
需要选取列数大于1,可选取分隔符
7.拆分列
拆分相当于是合并列的反动作,不过功能更丰富,可以选着按字符数,也可以选择按分隔符,如果列中包含多个分隔符,还可以选择按哪个位置的分隔符来拆分:
8分组
9.提取
PQ 的提取功能可以按照长度、首字符、尾字符、范围等来提取,比如下面这个例子,提取前2 个字符
10.行列转置
11.行列操作
12逆透视列
这是 PQ 非常便捷的逆天功能,由于数据分析的需要,我们经常要将二维表变为一维表,之前在Excel 中需要很多操作步骤才能完成,而通过逆透视功能,可以一键降为一维表
13透视列
做分析需要一维表,而为了展现的需要,常常还要把一维表变成二维表,也就是 Excel 中的数据透视,在PQ 中同样可以一键透视,比如把刚才的一维表变成原样,聚合方式选择‘不要聚合”。
数据丰富
加入新列、新行,或者从其他表中添加进来更多维度的数据
1添加列
四种形式,重复列、索引列、条件列、自定义列:
2.追加查询 多表行
追加查询是在现有记录的基础上,在下边添加新的行数据, 是一种纵向合并,比如有两个表格式相同,需要合并为一个表,点击“追加查询”,
3.合并查询 多表列 相当于vlookup函数。
M函数
1.M函数的基本规范:
⚫ M 函数对大小写敏感,每一个字母必须按函数规范书写,第一个字母都是大写
⚫ 表被称为 Table,每行的内容是一个 Record,每列的内容是一个 List
⚫ 行标用大括号{ },比如取第一行的内容: =表{0} //PQ 的第一行从 0 开始
⚫ 列标用中括号[ ],比如取自定义列的内容: =表[自定义]
⚫ 取第一行自定义列的内容: =表{0}[自定义]
2.常用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)
3.从哪里查找 M 函数
新建一个空查询,在公式标记栏中输入#shared,就把所有的 M 函数显示出来了
数据建模
1.定义:
Power BI 可以从多个表格、多种来源的数据中,根据不同的维度、不同
的逻辑来聚合分析数据;而提取数据的前提是要将这些数据表建立关系,这个建立关系的
过程就是数据建模。
2.基数
⚫ 基数就是两个连接字段的对应关系,分为多对一、一对一和一对多,一对多和多对一
其实是一样的,实际上就是两种关系:
⚫ 多对一(*: 1):这是最常见的类型,代表一个表中的关系列有重复值,而在另一个表
中是单一值
⚫ 一对一(1: 1):两个表是一对一的关系,列中的每个值在两个表中都是唯一的
⚫ 具有唯一值的表通常称为“查找表”,而具有多个值的表称为“引用表”。在上述的关系图
上,产品明细表上类别手机、平板、电脑都不是唯一的,每个品牌都有这种类型,是
个引用表;但类别表上,几种类别都是唯一值,因此这两个表是多对一的关系,类别
表也就是查找表
3.交叉筛选方向
表示数据筛选的流向,有两种类型:
⚫ 双向:两个表可以互相筛选
⚫ 单向:一个表只能对另一个表筛选,而不能反向
4.DAX
创建度量值的公式称为 DAX 公式
度量值
1.定义
度量值是用 DAX 公式创建一个虚拟字段的数据值,她不改变源数据,也不改变
数据模型。
2.度量值特征
1上下文
度量值的最重要的特征: 上下文,上下文就是度量值所处的环境,筛选表的行列标签、切片器的选中,都是度量值的上下
文,比如北京
2017 年截至 5 月的苹果手机累计销售额 3424000,它的上下文就是下面这 5
个维度:
[城市]="北京市"
[品牌]="苹果"
[类别]="手机"
[年度]=2017
[月份]=5 月
2度量值不浪费内存,只有被拖到图表上才执行运算,如果数据量非常大的时候这点非
常有利
3度量值可以循环使用,比如上面的建立的度量值:
DAX
DAX:data analysis expression
DAX的主要功能正是查询和运算, DAX 查询函数负责筛选出有用的数据集合,然后利用 DAX 的
聚合函数执行计算
上下文:
外部上下文:外部可以看得见的筛选:标签和切片器,
内部上下文:创建度量值的 DAX 公式,它的查询筛选函数可以扩大、限制或者重置外部上下文
DAX的使用范围:
DAX除了可以创建度量值。还可以新建列(占用内存)。
DAX参数的基本格式:
表名用单引号' '括着 // '日期表'
字段用中括号[ ]括着 //[日期]
度量值也是用中括号[ ]
引用字段始终要包含表名,以和度量值区分开
DAX 常用函数
聚合函数:
SUM 求和
AVERAGE 平均
MIN 最小
MAX 最大
COUNT:计数
COUNTROWS:计算行数
DISTINCTCOUNT:计算不重复值的个数
函数后面加x,可以循环访问表的每一行,并执行计算,所以也被称为迭代函数
SUMX
AVERAGEX
MINX
MAXX
RANKX
时间智能函数
PREVIOUSYEAR/Q/M/D:上一年/季/月/日
NEXTYEAR/Q/M/D:下一年/季/月/日
TOTALYTD/QTD/MTD:年/季/月初至今
SAMEPERIODLASTYEAR:上年同期
PARALLELPERIOD:上一期
DATESINPERIOD:指定期间的日期
筛选函数
FILTER:筛选,FILTER 函数返回的表,所以它不能单独用于建度量值
ALL:所有值,可以清除筛选
ALLEXCEPT:保留指定列
VALUES:返回不重复值
CALCULATE:
CALCULATE(<expression>,<filter1>,<filter2>…)
第一个参数是计算表达式,可以执行各种聚合运算
从第二个参数开始,是一系列筛选条件,可以为空;如果多个筛选条件,用逗号分隔
所有晒选条件的交集形成最终的筛选数据集合
根据筛选出的数据集合执行第一个参数的聚合运算并返回运算结果
calculate 可以直接引用创建好的度量值。
添加限制条件,缩小上下文:
结合 ALL 函数,扩大上下文:
ALL('产品明细')的意思是清除产品明细表里的所有筛选,外部筛选器不起作用了,每行统计的都是该表中的所有产品。
重置上下文:
FILTER 函数
第一个参数<table>是要筛选的表
第二个参数<filter>是筛选条件
返回的是一张表,不能单独使用,需要与其他函数结合使用
产品数量2 = calculate([产品数量],'产品明细表'[品牌]="苹果")
等同于:
产品数量2 = calculate([产品数量],FILTER(ALL('产品明细表'[品牌]),'产品明细表'[品牌]="苹果"))
常用格式:calculate(...,FILTER(ALL(..),....))
HASONEVALUE 和 SUMX 函数
1.HASONEVALUE(列名),是个逻辑判断函数,如果有单一值,返回 ture,否则返回 false
判断外部上下文中是否为该列中的唯一值,做切片器交互时十分有用
2.SUMX(表,表中每一行计算的表达式)
逐行计算,占用内存,数据量过大时
EARLIER函数
操作行中对应参数列的操作。
powerbi 可视化
1.堆积图:
不同的序列在一根柱子上显示
可以直接比较总量的大小
分类序列的数值比较功能弱化
2.簇状柱形图的特征:
⚫ 不同序列使用不同的柱子
⚫ 可以比较各序列的数值大小
⚫ 总量比较功能弱化
3.百分比堆积柱形图的特征:
⚫ 与堆积柱形图类似,不同序列在一根柱子上显示
⚫ 显示各序列的相对大小, Y 轴标签变为百分比
⚫ 无法比较总量,每根柱子都一样高
柱形图格式设置:
4.单层树状图
5.双层树状图
在详情信息中添加字段。
树状图的使用场景
⚫ 要显示大量的分层数据
⚫ 条形图不能有效地处理大量值
⚫ 要显示每个部分与整体之间的比例
⚫ 要显示层次结构中指标在各个类别层次的分布的模式
⚫ 要使用大小和颜色编码显示属性
⚫ 要发现模式、离群值、最重要因素和异常
6.气泡地图-Bubble Map
7着色地图-Filled Map
8.ArcGIS 地图
PowerBI 常用操作
1.查看图表的三种方式:
选中图表,点击上方【数据/钻取】选项卡“查看数据”
选中图表,然后点击右上角三个点,选择“显示数据”
在图表上单击右键,选择“查看数据”
2.图表钻取2种。
通过图表右上角的向下箭头“启用深化”。
使用顶部 Power BI“数据/钻取”选项卡。
3.编辑交互
如果需要响应该筛选,则选择“筛选”图标
如果不希望被筛选,则选择“不起作用”图标