關聯性

已完成

關聯性很重要,尤其是資料關聯性更加重要。

關聯性可讓使用者查詢多個資料表中的資料。 要成功執行這種方法的唯一方式,是透過多個資料表之間的比對欄位。 Power BI 會將此字段稱為 關聯性欄位

此螢幕快照顯示Power BI 中具有多個關聯性字段的關聯性檢視。

影片:進階編輯器的示範

在進一步探索關聯性字段的重要性之前,您需要深入了解維度模型,以協助您更妥善地建構關聯性模型。 現在,您應該有在模型上建立雪花分支的實作體驗。 您也應該了解維度和事實數據表之間的差異,以及標準化和反正規化數據表之間的差異。

如果您還沒有機會學習這些維度模型概念,以下各節提供複習內容。

雪花式結構描述

雪花模型雪花式架構是在數據表之間發生許多關聯性時,而且您必須傳遞多個關聯性,才能從一個數據表到另一個數據表。 此模型通常類似於具有事實數據表的雪花圖案,通常位於中間。 一個數據表會連線到多個維度數據表。

雪花式模型背後的原則是維度資料表的正規化,亦即移除低基數屬性,並建立自己的資料表。 下列螢幕擷取畫面顯示雪花式模型的範例。

螢幕快照顯示 Power BI Desktop 中 Snowflake 架構的範例。

事實資料表

先前的架構只有一個事實數據表: Sales Fact。 此 Sales Fact 資料表包含量值或量化屬性,例如 [折扣]、[ 數量] 和 [ 總計] 字段。 Sales Fact 資料表也包含關聯性欄位或外鍵,可讓使用者參考架構中的其他維度數據表。 例如,如果您需要找出客戶的總銷售額,則必須使用 Sales Fact 數據表和 Customer Dim 數據表中的 CustomerID 字段。

維度資料表

雪花式架構包含七個維度數據表:

  • Time Dim
  • Product Dim
  • ProductCategory Dim
  • Customer Dim
  • City Dim
  • Employee Dim
  • Department Dim

每個維度數據表都包含唯一的描述性屬性,可為 Sales Fact 數據表中的量值提供更多意義,例如 CustomerIDEmployeeIDProductID。 您可以利用這些欄位,找出不同客戶購買最多的是哪種產品。

正規化資料表

正規化數據表是一個以一系列一般形式建立的數據表。 此方法可減少數據備援,並改善數據完整性。 在相同的雪花模型中,維度數據表中沒有數據備援。 每個維度數據表都有自己的唯一屬性。

Power BI 特定關聯性是指您建立的資料表之間的連結或通訊通道。 您可以控制它們。 您可以控制關聯性和欄位的方向。

關聯性類型

這三種關聯性類型是 一對一 (1:1) 、 一對多 (1:*) ,以及 多對多 (*:*) 。

  • 一對一關聯性表示某個資料表中的每一筆記錄都與另一個資料表中的一筆 (且僅限一筆) 記錄相關聯。 例如,在雪花式模型中,每個客戶只有一個客戶識別碼。

  • 一對多關聯性表示某個資料表中的一筆記錄可以與另一個資料表中的零筆、一筆或多筆記錄相關聯。 例如,在雪花模型中,一位客戶可以有多個位址。 客戶可能已移動多次,或客戶已購買使用不同地址的購買。

  • 多對多關聯性表示某個資料表中的零筆、一筆或多筆記錄可以與另一個資料表中的零筆、一筆或多筆記錄相關聯。 在前一個雪花模型參考中,客戶可以購買各種產品,而許多客戶都可以購買產品。

Tableau 與 Power BI 的比較

一般而言,Tableau 會使用一個大型正規化資料表。 您可以事先設定聯結,但聯結會放大您的數據表,使其更大且更長。 結果是 反正規化 數據表。 在 2018 年之前,如果想要進行虛擬維度模型化,您可以完成該工作的唯一方法是透過資料混合。

如果您在維度數據表中有標識符字段,而且有廣泛的反正規化數據表,您可以透過Tableau所呼叫的「關聯性」連結這些欄位。此關聯性會在 Tableau Desktop 的 [維度] 窗格中建立連結圖示,指出數據混合中使用的字段。 雖然這項功能很方便,但最終在Tableau社群中並不常見。