星狀結構描述設計

已完成

Power BI 語意模型是由單一數據表所組成,並不常見。 單一資料表模型可以是簡單的設計,可能適用於資料探索工作或概念證明,但不是最佳模型設計的一種。 最佳模型會依循「星型結構描述」設計原則。 星型結構描述指的是關聯式資料倉儲設計工具常用的設計方法,因為其能提供便於使用的結構,並支援高效能的分析查詢。

此設計原則稱為星型結構描述,因為它會將模型資料表分類為「事實」或「維度」。 在圖表中,事實資料表形成星形的中心,而維度資料表則是置於事實資料表周圍,代表星形的角。

事實資料表

事實資料表的角色是儲存資料列的累積,代表記錄特定商務活動的觀察或事件。 例如,儲存於銷售事實資料表中的事件可以是銷售訂單和訂單產品線。 您也可以使用事實資料表記錄股票動態、庫存量或每日貨幣匯率。 一般來說,事實資料表包含多個資料列。 隨著時間過去,事實資料列會加以累積。 在分析查詢中 (稍後將在此課程模組中加以定義),模型會摘要事實資料表資料,以產生銷售和數量之類的值。

維度資料表

維度資料表會描述您的商業實體,這通常代表人員、地點、產品或概念。 日期維度資料表 (其中包含每個日期的一個資料列) 是概念維度資料表的常見範例。 維度資料表中的資料行允許對事實資料表資料進行篩選和分組。

每個維度資料表都必須有唯一的資料行,又稱為其索引鍵資料行。 唯一的資料行不包含重複的值,而且絕對不能有遺漏值。 在產品維度資料表中,資料行的名稱可能為 ProductKeyProductID。 額外資料行有可能會儲存描述性的值,例如產品名稱、子類別、類別、色彩等等。 在分析查詢中,這些資料行會用來篩選和分組資料。

比較偵測事實和維度資料表

下圖比較事實和維度資料表的特性。

特性 維度資料表 事實資料表
模型目的 儲存商務實體 儲存事件或觀察
資料表結構 包含用於篩選和分組的索引鍵資料行和描述性資料行 包含可以摘要的維度索引鍵資料行和數值量值資料行
資料量 通常包含較少的資料列 (相較於事實資料表) 可以包含多個資料列
查詢目的 進行篩選和分組 進行摘要

建立星型結構描述資料表的關聯性

在模型中,維度資料表會透過使用一對多的關聯性,關聯到事實資料表。 透過關聯性,可讓套用至維度資料表資料行的篩選條件和群組延伸到事實資料表。 這是常見的設計模式。

維度資料表可以用來篩選多個事實資料表,而事實資料表則可依據多個維度資料表進行篩選。 不過,將事實資料表直接關聯至另一份事實資料表,並非良好的做法。

若要練習此概念,請下載 Adventure Works DW 2020 M01.pbix 檔案、開啟檔案,然後切換到模型圖表。

請注意,此模型包含七個資料表,其中一個名為 Sales,同時是事實資料表。 其餘的資料表是維度資料表,而且具有下列名稱:

  • Customer
  • Date
  • 產品
  • Reseller
  • Sales Order
  • Sales Territory

請注意維度和事實資料表之間的關聯性,以及每個關聯性篩選方向皆指向事實資料表。 因此,當篩選準則套用至維度資料表資料行 (以篩選或依資料行值分組) 時,相關的事實會經過篩選和摘要。

如果您檢查此模式,可能會看到星形形狀。

如需星型結構描述設計的詳細資訊,請參閱了解星型結構描述及其對 Power BI 的重要性 \(部分機器翻譯\)。