數據可視化之powerBI入門(九)PowerBI數據建模:其實一點都不高深


https://zhuanlan.zhihu.com/p/64149834

數據建模並沒有那么高深,你同樣可以學會!這篇文章通過一個實例創建一個簡單的數據建模,並引出兩個重要的概念:度量值和DAX.

 


 

之前談論PowerBI與Power Pivot的關系時就提到,Power BI數據建模其實就相當於Excel的Power Pivot插件,不過這個插件已內嵌到PowerBI Desktop中了,兩者的功能基本相同。Pivot是透視的意思,那么PBI的數據建模也和透視有許多共通之處。

使用的數據透視表的都知道,透視表只能從單個表中取數,如果想把其他表中的數據也放進來,只能先利用Vlookup把其他表的數據合並過來,然后再把這個字段放到透視表中。這只適用於數據非常簡單的情況,如果數據量大或者維度很多,用透視表就無法滿足需求了。

Power BI突破了這個限制,可以從多個表格、多種來源的數據中,根據不同的維度、不同的邏輯來聚合分析數據;而提取數據的前提是要將這些數據表建立關系,這個建立關系的過程就是數據建模。

 

以一個實例來理解數據建模。

 

比如有個電子產品專賣店,銷售產品有三類:手機、電腦、平板,每一類又分別來自三個品牌:小米、蘋果、三星,那么這個店銷售的產品共計9個,其銷售明細也是記錄這些產品每天的銷售數據,

 

 

 

為了能分析每個品牌的銷售金額,或者分析每個產品類別的銷售情況,其實還應該設計個產品明細表以及對應的品牌表和種類表,像這樣的:

 

 

 

從這四個表中很容易就能想到它們之間的關系,品牌表和產品類別表分別和產品明細表中的品牌與產品種類相對應,而產品明細表中的產品編號和銷售明細表中的產品編號相對應。

 

下面就演示一下在Power BI Desktop中建立一個模型,導入以后點擊關系,出現這4張表,

 

 

 

 

可以看出產品明細表和銷售明細表之間已經有一條線,這是由於表格導入后,PowerBI會自動檢測關系並聯接,沒有檢測到的表,可以點擊一個表中的字段托到另一個表的對應字段上,就可以建立關系了,把類別表、品牌表和產品明細表建立關系后,關系圖如下:

 

 

 

 

一個簡單的數據模型就建立好了,可以點進去看看建立模型的相關參數。

點擊關系連接線,兩邊的表對應的連接字段會框選,雙擊關系線,進入編輯關系窗口:

 

 

 

 

編輯關系窗口可以看出關聯的兩個表和對應的字段,也可以更改聯結的字段;下面還有兩個可選項,基數和交叉篩選方向。


基數

基數就是兩個連接字段的對應關系,分為多對一、一對一和一對多,一對多和多對一其實是一樣的,實際上就是兩種關系:

  • 多對一(*:1):這是最常見的類型,代表一個表中的關系列有重復值,而在另一個表中是單一值
  • 一對一(1:1):兩個表是一對一的關系,列中的每個值在兩個表中都是唯一的

具有唯一值的表通常稱為“查找表”,而具有多個值的表稱為“引用表”。在上述的關系圖上,產品明細表上類別手機、平板、電腦都不是唯一的,每個品牌都有這種類型,是個引用表;但類別表上,幾種類別都是唯一值,因此這兩個表是多對一的關系,類別表也就是查找表。

 

交叉篩選方向

表示數據篩選的流向,有兩種類型:

  • 雙向:兩個表可以互相篩選
  • 單向:一個表只能對另一個表篩選,而不能反向

這個稍微有點抽象,以后可以根據實例來理解。

 


 

根據剛才建立的數據模型,可以做一下分析,比如統計各品牌產品的銷售額:

在銷售明細表中並不能直接統計出按品牌的銷售額,可以先建一個度量值,在建模選項卡下,點擊新建度量值,公式欄輸入:

銷售額 = sum('銷售明細表'[金額])

然后[銷售額]這個度量值就建立了,在右邊字段區可以看到。

 

 

 

 

為了在畫布上直觀的看到各品牌銷售額,在可視化里添加“卡片圖”,把度量值字段放進去,可以看到卡片圖的數字出來了,

 

 

 

 

這個數字是整體銷售金額,因為還沒有做任何篩選,為了看出各品牌的銷售金額,現在添加一個品牌的切片器,

 

 

 

 

點擊不同的品牌,數值跟着變化,通過這個例子,可以看出:

 

  • 展現的數字並不是一個表得出的,根據之前建立的關系模型,銷售明細表中的數據被品牌表中的[品牌名稱]字段所篩選,展現出來不同品牌的銷售額,這就是數據模型的威力。
  • 品牌銷售額是通過[銷售額]這個度量值,加入到卡片圖中,並可與切片器交互,展現不同的數據。

 

通過這個實例,還看到了以前從未見過的的概念:度量值,這可以說是PowerBI數據建模的靈魂,創建度量值的公式稱為DAX公式(看起來和Excel公式非常相似),剛才創建的這個度量值只是一個簡單的sum函數,並沒有任何的過濾條件,但是卻可以根據切片器的篩選而展現不同的數值,所以度量值被稱為移動的公式,這里只是簡單介紹,有個印象即可。

學習數據建模的更多知識,可以說都是依據度量值的邏輯以及建立度量值的DAX公式來展開,是下一步學習Power BI的重點。

本文案例數據可在公眾號回復“建模案例數據”下載。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM