Power BI 是微軟推出的數(shù)據(jù)分析和可視化工具
PowerBI繪圖一般分為三個步驟:選擇可視化圖表,圖標字段選擇,圖標格式設(shè)計。
power Query:pq? 超級查詢,
power? pivot? PP 就是超級透視
powerbi操作:
二維表轉(zhuǎn)化為一維表:
透視:一維表轉(zhuǎn)二維表。
逆透視:二維表轉(zhuǎn)化為一維表。

? ??????????????????????PowerQuery 常用的數(shù)據(jù)清洗十三招
1.提升標題
在 Excel 中第一行為標題行,從第二行開始才是數(shù)據(jù),但在 PQ 中,從第一行開始就需要是數(shù)據(jù)記錄,標題在數(shù)據(jù)之上

2.更改數(shù)據(jù)類型
兩種更改數(shù)據(jù)類型的方式。

3.刪除空值/錯誤


4刪除重復值

5.填充
在 Excel 數(shù)據(jù)中經(jīng)常會見到合并單元格的情況,導入后就變成了空值

6.合并列
需要選取列數(shù)大于1,可選取分隔符

7.拆分列
拆分相當于是合并列的反動作,不過功能更豐富,可以選著按字符數(shù),也可以選擇按分隔符,如果列中包含多個分隔符,還可以選擇按哪個位置的分隔符來拆分:

8分組

9.提取
PQ 的提取功能可以按照長度、首字符、尾字符、范圍等來提取,比如下面這個例子,提取前2 個字符

10.行列轉(zhuǎn)置

11.行列操作

12逆透視列
這是 PQ 非常便捷的逆天功能,由于數(shù)據(jù)分析的需要,我們經(jīng)常要將二維表變?yōu)橐痪S表,之前在Excel 中需要很多操作步驟才能完成,而通過逆透視功能,可以一鍵降為一維表

13透視列
做分析需要一維表,而為了展現(xiàn)的需要,常常還要把一維表變成二維表,也就是 Excel 中的數(shù)據(jù)透視,在PQ 中同樣可以一鍵透視,比如把剛才的一維表變成原樣,聚合方式選擇‘不要聚合”。

????????????????????????????????????????????????數(shù)據(jù)豐富
加入新列、新行,或者從其他表中添加進來更多維度的數(shù)據(jù)
1添加列
四種形式,重復列、索引列、條件列、自定義列:

2.追加查詢 多表行
追加查詢是在現(xiàn)有記錄的基礎(chǔ)上,在下邊添加新的行數(shù)據(jù), 是一種縱向合并,比如有兩個表格式相同,需要合并為一個表,點擊“追加查詢”,

3.合并查詢 多表列 相當于vlookup函數(shù)。

? ??????????????????????????????????????M函數(shù)
1.M函數(shù)的基本規(guī)范:
? M 函數(shù)對大小寫敏感,每一個字母必須按函數(shù)規(guī)范書寫,第一個字母都是大寫
? 表被稱為 Table,每行的內(nèi)容是一個 Record,每列的內(nèi)容是一個 List
? 行標用大括號{ },比如取第一行的內(nèi)容: =表{0} //PQ 的第一行從 0 開始
? 列標用中括號[ ],比如取自定義列的內(nèi)容: =表[自定義]
? 取第一行自定義列的內(nèi)容: =表{0}[自定義]
2.常用M函數(shù):
聚合函數(shù):
求和: List.Sum()
求最小值: List.Min()
求最大值: List.Max()
求平均值: List.Average()
文本函數(shù):
求文本長度: Text.Length()
去文本空格: Text.Trim()
取前 n 個字符: Text.Start(文本,n)
取后 n 個字符: Text.End(文本,n)
提取數(shù)據(jù)函數(shù):
從 Excel 表中提取數(shù)據(jù): Excel.Workbook()
從 Csv/Txt 中提取數(shù)據(jù): Csv.Document()
條件函數(shù):
if else then (相當于 Excel 中的 IF)
3.從哪里查找 M 函數(shù)
新建一個空查詢,在公式標記欄中輸入#shared,就把所有的 M 函數(shù)顯示出來了
????????????????????????????????????數(shù)據(jù)建模
1.定義:
Power BI 可以從多個表格、多種來源的數(shù)據(jù)中,根據(jù)不同的維度、不同
的邏輯來聚合分析數(shù)據(jù);而提取數(shù)據(jù)的前提是要將這些數(shù)據(jù)表建立關(guān)系,這個建立關(guān)系的
過程就是數(shù)據(jù)建模。
2.基數(shù)
? 基數(shù)就是兩個連接字段的對應關(guān)系,分為多對一、一對一和一對多,一對多和多對一
其實是一樣的,實際上就是兩種關(guān)系:
? 多對一(*: 1):這是最常見的類型,代表一個表中的關(guān)系列有重復值,而在另一個表
中是單一值
? 一對一(1: 1):兩個表是一對一的關(guān)系,列中的每個值在兩個表中都是唯一的
? 具有唯一值的表通常稱為“查找表”,而具有多個值的表稱為“引用表”。在上述的關(guān)系圖
上,產(chǎn)品明細表上類別手機、平板、電腦都不是唯一的,每個品牌都有這種類型,是
個引用表;但類別表上,幾種類別都是唯一值,因此這兩個表是多對一的關(guān)系,類別
表也就是查找表
3.交叉篩選方向
表示數(shù)據(jù)篩選的流向,有兩種類型:
? 雙向:兩個表可以互相篩選
? 單向:一個表只能對另一個表篩選,而不能反向
4.DAX
創(chuàng)建度量值的公式稱為 DAX 公式
????????????????????????????????????????度量值
1.定義
度量值是用 DAX 公式創(chuàng)建一個虛擬字段的數(shù)據(jù)值,她不改變源數(shù)據(jù),也不改變
數(shù)據(jù)模型。
2.度量值特征
? ? ? ? 1上下文
度量值的最重要的特征: 上下文,上下文就是度量值所處的環(huán)境,篩選表的行列標簽、切片器的選中,都是度量值的上下
文,比如北京
2017 年截至 5 月的蘋果手機累計銷售額 3424000,它的上下文就是下面這 5
個維度:
[城市]="北京市"
[品牌]="蘋果"
[類別]="手機"
[年度]=2017
[月份]=5 月
? ? ? ? ? ?2度量值不浪費內(nèi)存,只有被拖到圖表上才執(zhí)行運算,如果數(shù)據(jù)量非常大的時候這點非
常有利
? ? ? ? ? ? 3度量值可以循環(huán)使用,比如上面的建立的度量值:
? ??????????????????????????????????????????????DAX
DAX:data analysis expression
DAX的主要功能正是查詢和運算, DAX 查詢函數(shù)負責篩選出有用的數(shù)據(jù)集合,然后利用 DAX 的
聚合函數(shù)執(zhí)行計算
上下文:
外部上下文:外部可以看得見的篩選:標簽和切片器,
內(nèi)部上下文:創(chuàng)建度量值的 DAX 公式,它的查詢篩選函數(shù)可以擴大、限制或者重置外部上下文
DAX的使用范圍:
DAX除了可以創(chuàng)建度量值。還可以新建列(占用內(nèi)存)。
DAX參數(shù)的基本格式:
表名用單引號' '括著 // '日期表'
字段用中括號[ ]括著 //[日期]
度量值也是用中括號[ ]
引用字段始終要包含表名,以和度量值區(qū)分開
DAX 常用函數(shù)
聚合函數(shù):
SUM 求和
AVERAGE 平均
MIN 最小
MAX? 最大
COUNT:計數(shù)
?COUNTROWS:計算行數(shù)
DISTINCTCOUNT:計算不重復值的個數(shù)
函數(shù)后面加x,可以循環(huán)訪問表的每一行,并執(zhí)行計算,所以也被稱為迭代函數(shù)
SUMX
AVERAGEX
MINX
MAXX
RANKX
時間智能函數(shù)
PREVIOUSYEAR/Q/M/D:上一年/季/月/日
NEXTYEAR/Q/M/D:下一年/季/月/日
?TOTALYTD/QTD/MTD:年/季/月初至今
?SAMEPERIODLASTYEAR:上年同期
PARALLELPERIOD:上一期
?DATESINPERIOD:指定期間的日期
篩選函數(shù)
FILTER:篩選,F(xiàn)ILTER 函數(shù)返回的表,所以它不能單獨用于建度量值
?ALL:所有值,可以清除篩選
ALLEXCEPT:保留指定列
VALUES:返回不重復值
CALCULATE:
CALCULATE(<expression>,<filter1>,<filter2>…)
第一個參數(shù)是計算表達式,可以執(zhí)行各種聚合運算

從第二個參數(shù)開始,是一系列篩選條件,可以為空;如果多個篩選條件,用逗號分隔
所有曬選條件的交集形成最終的篩選數(shù)據(jù)集合
根據(jù)篩選出的數(shù)據(jù)集合執(zhí)行第一個參數(shù)的聚合運算并返回運算結(jié)果
calculate 可以直接引用創(chuàng)建好的度量值。

添加限制條件,縮小上下文:

結(jié)合 ALL 函數(shù),擴大上下文:

ALL('產(chǎn)品明細')的意思是清除產(chǎn)品明細表里的所有篩選,外部篩選器不起作用了,每行統(tǒng)計的都是該表中的所有產(chǎn)品。
重置上下文:

FILTER 函數(shù)

?第一個參數(shù)<table>是要篩選的表
第二個參數(shù)<filter>是篩選條件
返回的是一張表,不能單獨使用,需要與其他函數(shù)結(jié)合使用
產(chǎn)品數(shù)量2 = calculate([產(chǎn)品數(shù)量],'產(chǎn)品明細表'[品牌]="蘋果")
等同于:
產(chǎn)品數(shù)量2 =?calculate([產(chǎn)品數(shù)量],FILTER(ALL('產(chǎn)品明細表'[品牌]),'產(chǎn)品明細表'[品牌]="蘋果"))
常用格式:calculate(...,FILTER(ALL(..),....))
HASONEVALUE 和 SUMX 函數(shù)
1.HASONEVALUE(列名),是個邏輯判斷函數(shù),如果有單一值,返回 ture,否則返回 false
判斷外部上下文中是否為該列中的唯一值,做切片器交互時十分有用

2.SUMX(表,表中每一行計算的表達式)
逐行計算,占用內(nèi)存,數(shù)據(jù)量過大時
EARLIER函數(shù)

操作行中對應參數(shù)列的操作。
powerbi? 可視化
1.堆積圖:
不同的序列在一根柱子上顯示
可以直接比較總量的大小
分類序列的數(shù)值比較功能弱化
2.簇狀柱形圖的特征:
? 不同序列使用不同的柱子
? 可以比較各序列的數(shù)值大小
? 總量比較功能弱化
3.百分比堆積柱形圖的特征:
? 與堆積柱形圖類似,不同序列在一根柱子上顯示
? 顯示各序列的相對大小, Y 軸標簽變?yōu)榘俜直?/p>
? 無法比較總量,每根柱子都一樣高
柱形圖格式設(shè)置:

4.單層樹狀圖
5.雙層樹狀圖
在詳情信息中添加字段。

樹狀圖的使用場景
? 要顯示大量的分層數(shù)據(jù)
? 條形圖不能有效地處理大量值
? 要顯示每個部分與整體之間的比例
? 要顯示層次結(jié)構(gòu)中指標在各個類別層次的分布的模式
? 要使用大小和顏色編碼顯示屬性
? 要發(fā)現(xiàn)模式、離群值、最重要因素和異常
6.氣泡地圖-Bubble Map
7著色地圖-Filled Map
8.ArcGIS 地圖
PowerBI 常用操作
1.查看圖表的三種方式:
選中圖表,點擊上方【數(shù)據(jù)/鉆取】選項卡“查看數(shù)據(jù)”
選中圖表,然后點擊右上角三個點,選擇“顯示數(shù)據(jù)”
在圖表上單擊右鍵,選擇“查看數(shù)據(jù)”
2.圖表鉆取2種。
通過圖表右上角的向下箭頭“啟用深化”。
使用頂部 Power BI“數(shù)據(jù)/鉆取”選項卡。
3.編輯交互


如果需要響應該篩選,則選擇“篩選”圖標
如果不希望被篩選,則選擇“不起作用”圖標

? ??????????????????????????????書簽與按鈕


