實作星型綱要

使用 Microsoft Fabric 進行資料轉換與分析

Luis Silva

Solution Architect - Data & AI

勳章式架構(Medallion Architecture)

勳章式資料架構示意圖,顯示資料從來源匯入至 Bronze 階層,在 Silver 階層轉換為清理後資料,並在 Gold 階層進一步轉為適合分析的星型綱要

  • 組織資料的設計樣式
  • 三個層級,逐步精煉資料
使用 Microsoft Fabric 進行資料轉換與分析

勳章式架構(Medallion Architecture)

勳章式資料架構示意圖,強調 Bronze 階層

  • Bronze 階層: 從來源匯入的原始格式資料。
使用 Microsoft Fabric 進行資料轉換與分析

勳章式架構(Medallion Architecture)

勳章式資料架構示意圖,強調 Silver 階層

  • Silver 階層: 已清理與標準化的資料。
使用 Microsoft Fabric 進行資料轉換與分析

勳章式架構(Medallion Architecture)

勳章式資料架構示意圖,強調 Gold 階層

  • Gold 階層: 適合分析的資料格式,通常為星型綱要。
使用 Microsoft Fabric 進行資料轉換與分析

Fabric 中的勳章式架構

Fabric 中的勳章式資料架構示意圖,顯示資料管線將來源資料匯入 Bronze 階層的 lakehouse,使用 spark 筆記本與 dataflows 在 Silver 階層轉換為 lakehouse,並在 Gold 階層進一步轉為倉儲中的星型綱要。

  • Bronze 階層:Lakehouse
  • Silver 階層:Lakehouse
  • Gold 階層:Lakehouse 或 Warehouse
使用 Microsoft Fabric 進行資料轉換與分析

實作星型綱要

  • 使用 T-SQL 的 CREATE TABLE 陳述式定義資料表。
  • Fabric 支援最常用的 T-SQL 資料型別。

倉儲版面配置截圖,展開 dw-sales 綱要,內含 1 個事實表與多個維度表

星型綱要示意圖

使用 Microsoft Fabric 進行資料轉換與分析

維度表結構

  • 描述商務實體(如產品)。
  • 通常包含下列欄位:

名為 Dim Product 的範例維度表,含 Product ID、Product Key、Product Name 與 Product Brand 欄位

使用 Microsoft Fabric 進行資料轉換與分析

維度表結構

  • 描述商務實體(如產品)。
  • 通常包含下列欄位:
    • 代理鍵(Surrogate Key)。 單欄位、用於識別維度項目的唯一識別碼。

名為 Dim Product 的範例維度表,含 Product ID、Product Key、Product Name 與 Product Brand。Product ID 以代理鍵標示

使用 Microsoft Fabric 進行資料轉換與分析

維度表結構

  • 描述商務實體(如產品)。
  • 通常包含下列欄位:
    • 代理鍵(Surrogate Key)。 單欄位、用於識別維度項目的唯一識別碼。
    • 自然鍵(商務鍵,Natural Key/Business Key)。 來自來源系統的單欄位唯一識別碼。

名為 Dim Product 的範例維度表,含 Product ID、Product Key、Product Name 與 Product Brand。Product Key 以自然鍵標示

使用 Microsoft Fabric 進行資料轉換與分析

維度表結構

  • 描述商務實體(如產品)。
  • 通常包含下列欄位:
    • 代理鍵(Surrogate Key)。 單欄位、用於識別維度項目的唯一識別碼。
    • 自然鍵(商務鍵,Natural Key/Business Key)。 來自來源系統的單欄位唯一識別碼。
    • 維度屬性(Dimension Attributes)。 1 個或多個欄位,用於篩選資料並為事實表中的資料提供脈絡。

名為 Dim Product 的範例維度表,含 Product ID、Product Key、Product Name 與 Product Brand。Product Name 與 Product Brand 以維度屬性標示

使用 Microsoft Fabric 進行資料轉換與分析

建立維度表

使用 CREATE TABLE 陳述式建立範例維度表 dim_Product 的 T-SQL 指令碼

名為 Dim Product 的範例維度表,含 Product ID、Product Key、Product Name 與 Product Brand。Product ID 為代理鍵、Product Key 為自然鍵,Product Name 與 Product Brand 為維度屬性

使用 Microsoft Fabric 進行資料轉換與分析

事實表結構

  • 描述商務事件(如產品銷售)。
  • 欄位:

名為 Fact Sales 的範例事實表,含 Date ID、Store ID、Product ID、Customer ID、Payment ID、Packaging Notes、Sale Order Number、Sale Units 與 Sale Price 欄位

使用 Microsoft Fabric 進行資料轉換與分析

事實表結構

  • 描述商務事件(如產品銷售)。
  • 欄位:
    • 維度鍵(Dimension Keys)。 參照各維度表的代理鍵。

名為 Fact Sales 的範例事實表,含 Date ID、Store ID、Product ID、Customer ID、Payment ID、Packaging Notes、Sale Order Number、Sale Units 與 Sale Price。Date ID、Store ID、Product ID、Customer ID、Payment ID 以維度鍵標示

使用 Microsoft Fabric 進行資料轉換與分析

事實表結構

  • 描述商務事件(如產品銷售)。
  • 欄位:
    • 維度鍵(Dimension Keys)。 參照各維度表的代理鍵。
    • 屬性(Attributes)。 提供事實的補充資訊,但不是維度,也不是數值度量。

名為 Fact Sales 的範例事實表,含 Date ID、Store ID、Product ID、Customer ID、Payment ID、Packaging Notes、Sale Order Number、Sale Units 與 Sale Price。Packaging Notes 與 Sale Order Number 以屬性標示

使用 Microsoft Fabric 進行資料轉換與分析

事實表結構

  • 描述商務事件(如產品銷售)。
  • 欄位:
    • 維度鍵(Dimension Keys)。 參照各維度表的代理鍵。
    • 屬性(Attributes)。 提供事實的補充資訊,但不是維度,也不是數值度量。
    • 度量(Measures)。 量化事實的數值,通常可加總,例如單位數、金額等。

名為 Fact Sales 的範例事實表,含 Date ID、Store ID、Product ID、Customer ID、Payment ID、Packaging Notes、Sale Order Number、Sale Units 與 Sale Price。Sale Units 與 Sale Price 以度量標示

使用 Microsoft Fabric 進行資料轉換與分析

建立事實表

使用 CREATE TABLE 陳述式建立範例事實表 fact_Sales 的 T-SQL 指令碼

名為 Fact Sales 的範例事實表,含 Date ID、Store ID、Product ID、Customer ID、Payment ID、Packaging Notes、Sale Order Number、Sale Units 與 Sale Price 欄位

使用 Microsoft Fabric 進行資料轉換與分析

一起來練習吧!

使用 Microsoft Fabric 進行資料轉換與分析

Preparing Video For Download...