iT邦幫忙

2024 iThome 鐵人賽

DAY 24
1
AI/ ML & Data

華人市場資料打撈師求生指南系列 第 24

Day 24 - 進入 Power BI 語意模型前的資料處理與資料轉換。

  • 分享至 

  • xImage
  •  

就像在第十天提到的,雖然 Power BI 有內建資料轉換的功能,但現在我傾向用 dbt 完成所有的資料處理,讓 Power BI 的語意模型只管理 Dimensional Model 中表格與表格間的關聯性以及指標計算邏輯就好 (DAX)。下面會先簡單示範一下在 dbt 大概做哪些資料處理,接著再簡單介紹 Power BI 的資料模型功能。

dbt 負責資料轉換

來人啊,先上圖!

https://ithelp.ithome.com.tw/upload/images/20241008/20163103Sr9gR14Gr7.png

上面做了一個簡單的專案介紹從資料源到資料市集大概會長怎樣,因為是個很陽春的專案,所以其實不太複雜。順序大概是:

  1. source: 綠色的是被同步到資料倉儲的資料源表
  2. snapshot: 會對多數資料源表進行 snapshot,orders 除外,因為他在資料源的更新是 immutable 的。(欄位的值只要被 insert 就不會再變動了,當然以防萬一要 snapshot 也是可以。)
  3. stg: 更改表格名稱,還有做一些簡單的 coalesce 轉換
  4. int: 因為邏輯很簡單,這邊只做了 SCD type 2 跟 SCD tpye 2 的 join 沒其他轉換。
  5. dim: 基本上跟上游的 int 是一樣的邏輯。dim_date 沒有上游是因為我用 dbt 的套件直接生成表格。
  6. fct: 把 dim 的 surrogate_key populate 到 fct_orders 中。

其中,Power BI 會連接的 只有 dimfct

Power BI 資料模型

匯入資料

在選擇好資料庫,以及輸入伺服器位置等等資訊後,就可以開始匯入資料了,如下圖所示,把需要的 dimfct 勾選起來,就可以一次匯入數張表格

https://ithelp.ithome.com.tw/upload/images/20241008/20163103L8beInPWfD.png

資料模型

匯入後, Power BI 會開始自動偵測資料模型,下面是經試驗後歸納出的他的偵測方式:

  • 表格跟表格間有沒有相同的欄位
  • 該欄位在兩個表格間是不是一對多關係

偵測後,點擊左邊工具列的資料模型:

https://ithelp.ithome.com.tw/upload/images/20241008/20163103KCI4ltnrSk.png

接著,就可以看到,美麗的模型了:

https://ithelp.ithome.com.tw/upload/images/20241008/20163103B7AJNkmwRT.png

其中,箭頭代表篩選器的篩選方向, 1* 代表一對多關係,可以看到只要是一對多關係,系統預設篩選都是從一篩到多(用維度表去篩選事實表。)之後會再介紹其他種類的關係,但只要會一對多就幾乎可以打遍天下無敵手了。

也可以點擊上方的管理關聯性,看到「關聯性」的細節:

https://ithelp.ithome.com.tw/upload/images/20241008/20163103YPLnw1p4bW.png

最後,附上完成的 star schema

https://ithelp.ithome.com.tw/upload/images/20241008/201631031yUwtbfWrW.png

到目前這邊,陽春的 Power BI 語意模型就完成第一階段了,接下來只要加上利用 DAX去定義指標就完成了!但因為資料模型是 DAX 的基礎,下一篇會先介紹更多跟資料模型有關的內容,接下來才會介紹 DAX。


上一篇
Day 23 - 小結:用 dbt 做資料管線開發
下一篇
Day 25 - Power BI 關聯性的功用以及類型
系列文
華人市場資料打撈師求生指南30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言