建立關聯性

適用於: SQL Server 2019 和更新版本的 Analysis Services Azure Analysis Services Fabric/Power BI Premium

在這一課,您會確認匯入數據時自動建立的關聯性,並在不同的數據表之間新增新的關聯性。 關聯性是兩個數據表之間的連接,可建立這些數據表中的數據應該如何相互關聯。 例如,DimProduct 數據表和 DimProductSubcategory 數據表會根據 DimProduct 數據表中的每個產品屬於 DimProductSubcategory 數據表中的子類別目錄,建立關聯性。 若要深入瞭解,請參閱 關聯性

重要

此時,隨 Azure Synapse Analytics (SQL 數據倉儲) 一起安裝的 AdventureWorksDW 範例預設資料庫與本教學課程中所述的數據表之間沒有關聯性。 您必須手動建立所有關聯性。 本課稍後會說明手動建立關聯性。

完成本課程的估計時間:10 分鐘

先決條件

本文是表格式模型化教學課程的一部分,應該依序完成。 在本課程中執行工作之前,您應該已完成上一課:第 3 課:標示為日期數據表

檢閱現有的關聯性並新增關聯性

當您使用 Get Data 匯入數據時,會從 AdventureWorksDW 資料庫取得七個數據表。 一般而言,當您從關係型來源匯入數據時,現有的關聯性會自動與數據一起匯入。 為了讓取得數據在數據模型中自動建立關聯性,數據源的數據表之間必須有關聯性。

在繼續撰寫模型之前,您應該先確認數據表之間的關聯性已正確建立。 在本教學課程中,您也會新增三個新的關聯性。

檢閱現有的關聯性

  1. 點選單擊 [模型] 功能表,>[模型檢視]>[圖表檢視]

    模型設計工具現在會出現在 [圖表檢視] 中,這是一種圖形化格式,其中顯示您匯入的所有數據表,其中各有線條。 數據表之間的行表示匯入數據時自動建立的關聯性。

    Model.bim 檔案圖表檢視的螢幕快照。

    注意

    如果您沒有看到數據表之間的任何關聯性,這表示數據源上的這些數據表之間沒有關聯性。

    使用模型設計工具右下角的迷你地圖控件,盡可能包含多個數據表。 您也可以按下數據表並拖曳到不同的位置、將數據表放在一起,或依特定順序放置數據表。 移動數據表不會影響數據表之間的關聯性。 若要檢視特定數據表中的所有數據行,請按兩下資料表邊緣並拖曳以展開或縮小。

  2. 按兩下 DimCustomer 資料表與 DimGeography 資料表之間的實線。 這兩個數據表之間的實線顯示此關聯性為作用中,也就是說,計算 DAX 公式時,預設會使用關聯性。

    請注意,DimCustomer 數據表和 DimGeography 數據表中 GeographyKey 數據行中的 GeographyKey 數據行現在都會出現在方塊中。 這些數據行用於關聯性中。 關聯性的屬性現在也會出現在 [屬性] 視窗中

    提示

    您也可以使用 [管理關聯性] 對話框,以表格格式顯示所有數據表之間的關聯性。 在表格式模型總管中,以滑鼠右鍵按兩下 關聯性>管理關聯性

  3. 確認從 AdventureWorksDW 資料庫匯入每個數據表時,已建立下列關聯性:

    積極 桌子 相關查閱表格
    是的 DimCustomer [GeographyKey] DimGeography [GeographyKey]
    是的 DimProduct [ProductSubcategoryKey] DimProductSubcategory [ProductSubcategoryKey]
    是的 DimProductSubcategory [ProductCategoryKey] DimProductCategory [ProductCategoryKey]
    是的 FactInternetSales [CustomerKey] DimCustomer [CustomerKey]
    是的 FactInternetSales [ProductKey] DimProduct [ProductKey]

    如果遺漏任何關聯性,請確認您的模型包含下列數據表:DimCustomer、DimDate、DimGeography、DimProduct、DimProductCategory、DimProductSubcategory 和 FactInternetSales。 如果相同數據源連線的數據表會個別匯入,則不會建立這些數據表之間的任何關聯性,而且必須手動建立。 如果沒有出現關聯性,表示數據源上沒有關聯性。 您可以在資料模型中手動建立它們。

仔細看看

在 [圖表檢視] 中,請注意箭號、星號,以及顯示數據表之間關聯性的行號。

圖表檢視的螢幕快照,其中已醒目提示箭號、星號和數位。

箭號會顯示篩選方向。 星號顯示這個數據表是關聯性基數中許多 端的 ,而顯示這個數據表的是關聯性 端。 如果您需要編輯關聯性;例如,變更關聯性的篩選方向或基數,按兩下關聯性行以開啟 [編輯關聯性] 對話框。

[編輯關聯性] 對話框的螢幕快照,其中已醒目提示 Table 1 和 Table 2 的 DimCustomer 和 GeographyKey 選項。

這些功能適用於進階數據模型化,且不在本教學課程的範圍內。 若要深入瞭解,請參閱 Analysis Services中表格式模型的雙向交叉篩選

在某些情況下,您可能需要在模型中建立數據表之間的其他關聯性,以支援特定商業規則。 在本教學課程中,您必須在 FactInternetSales 數據表與 DimDate 數據表之間建立三個額外的關聯性。

在數據表之間加入新的關聯性

  1. 在模型設計工具中,在 FactInternetSales 數據表中,按住 OrderDate 數據行,然後將游標拖曳至 DimDate 數據表中的 [Date] 數據行,然後放開。

    隨即出現實線,其中顯示您已在 Internet Sales 數據表中建立 OrderDate 數據行與 Date 數據表中 Date 數據行之間的作用中關聯性。

    已呼叫 OrderDate 和 Date 的模型設計工具螢幕快照,其中顯示數據表之間的實線。

    注意

    建立關聯性時,會自動選取主數據表與相關查閱表格之間的基數和篩選方向。

  2. FactInternetSales 數據表中,按住 [DueDate] 數據行,然後將游標拖曳至 DimDate 數據表中的 [Date] 數據行,然後放開。

    隨即出現一條虛線,顯示您已在 FactInternetSales 數據表的 DueDate 數據行與 DimD ate 數據表中的 Date 數據行之間建立非使用中關聯性。 您可以在數據表之間有多個關聯性,但一次只能有一個關聯性。 非作用中關聯性可以在自定義 DAX 運算式中執行特殊匯總。

  3. 最後,再建立一個關聯性。 在 FactInternetSales 數據表中,按住 ShipDate 數據行,然後將游標拖曳至 [DimDate 數據表] 中的 [Date] 數據行,然後放開。

    已標註 ShipDate 和 Date 的模型設計工具螢幕快照。

下一步

第 5 課 :建立導出數據行