資料模型中的 join 與 union

Sigma 的資料建模

Ben Harris

Technical Instructional Designer at Sigma

基礎資料表的目的

 

recraft: half: 一個含列與欄的單一資料表圖示,透明背景

 

  • 建立資料模型的 第一步:加入一個資料表
  • 在 Sigma 中不是硬性規定
  • 本課程中,資料模型會以 基礎資料表 開始
Sigma 的資料建模

基礎資料表的目的

 

recraft: half: 每筆訂單一列的概念,表格列中有訂單圖示

 

  • 基礎資料表 = 核心分析單位
  • 你要建模的物件或事件,一列一筆
  • 例:訂單模型 → 一列 = 一筆訂單
  • 決定資料的粒度
Sigma 的資料建模

基礎資料表的目的

 

base table

 

  • 確定粒度後:基礎資料表是否需要更多倉儲資料表
  • 例:訂單 + 客戶 資料
  • orderscustomers 合併為一個基礎資料表
Sigma 的資料建模

基礎資料表的目的

 

comparison: Joins | Unions

 

  • 合併資料有兩種方式:joinunion
  • SQL 等工具的概念相同
  • 本課程:會在 Sigma 中使用它們
Sigma 的資料建模

基礎資料表的目的

 

更多 join 與 union 資源: DataCamp 與 Sigma 文件:

DataCamp 資源

Sigma 資源:

Sigma 的資料建模

Joins

join.png

Sigma 的資料建模

Joins

  • 將一個資料表的帶到另一個資料表
  • 使用共用欄位作為鍵
  • 結果:資料表變得更寬(更多欄)

join.png

Sigma 的資料建模

Joins

recraft: half: 帳戶與客戶檔案以 ID 鍵連結,極簡扁平風格

join.png

 

  • 範例:accounts + customer 資料
  • 連接鍵:customer ID
  • 每列獲得帳戶持有人資訊(如 email
Sigma 的資料建模

Unions

union framework.png

Sigma 的資料建模

Unions

 

union.png

  • 將一個資料表的加到另一個資料表尾端
  • 需要對齊欄位
  • 結果:資料表更長(更多列)
Sigma 的資料建模

Unions

 

union.png

 

  • 用於類似資料分散在多個資料表時
  • 資料表有對應欄位且粒度相同
  • Union 後成為一個連續的資料集
Sigma 的資料建模

Unions

recraft: half: 兩個銀行建築圖示,其交易清單合併為一份

union.png

 

  • 例:兩個據點 → 兩張交易表
  • 進行 union → 單一資料表,含所有交易
Sigma 的資料建模

合併資料的目的

 

  • 若使用者常手動做 join/union → 就加進模型
  • 讓大家都有一致的基礎資料表
  • 減少重複手動 join 造成的錯誤

 

recraft: half: 分析團隊共同檢視同一個一致性的儀表板

Sigma 的資料建模

一起來練習吧!

Sigma 的資料建模

Preparing Video For Download...