課程 5-1 - 定義參考的關聯性
適用於: SQL Server Analysis Services Azure Analysis Services Fabric/Power BI Premium
在本教學課程中,您定義的每個 Cube 維度都是以由主鍵與外鍵關聯性直接連結至量值群組事實數據表的數據表為基礎。 在本主題的工作中,您會透過 Reseller 維度,將 Geography 維度連結到轉銷商銷售的事實數據表,稱為 參考維度。 這可讓使用者依地理位置調整轉銷商銷售維度。 如需詳細資訊,請參閱 定義參考的關聯性和參考的關聯性屬性。
依地理位置維度轉銷商銷售
在 [方案總管] 中,以滑鼠右鍵按兩下 Analysis Services 教學課程Cubes 資料夾中,然後按兩下 [流覽]。
從數據窗格中移除所有階層,然後確認 Reseller Sales-Sales Amount 量值出現在資料窗格的數據區域中。 如果資料窗格尚未存在,請將它新增至資料窗格。
從元數據窗格中的 [Geography] 維度,將 地理位置 使用者定義階層拖曳至數據窗格 [置放數據列字段] 區域。
請注意,Reseller Sales-Sales Amount 量值並未由 Regions 階層中的 Country-Region 屬性成員正確維度。 Reseller Sales-Sales Amount 的值會針對每個 國家/地區 屬性成員重複。
Adventure Works DW 2019 數據源檢視的開放數據源檢視設計工具。
在 [圖表召集人] 窗格中,檢視 Geography 數據表與 ResellerSales 數據表之間的關聯性。
請注意,這些數據表之間沒有直接連結。 不過,透過 Reseller 數據表或 SalesTerritory 資料表,這些數據表之間會有間接連結。
按兩下箭號,代表 Geography 資料表與 Reseller 資料表之間的關聯性。
在 [編輯關聯性] 對話框中,請注意,GeographyKey 數據行是 Geography 數據表的主鍵,以及 Reseller 數據表中的外鍵。
單擊 [取消],切換至 SQL Server Analysis Services 教學課程 Cube 的 [Cube 設計工具],然後按兩下 [維度使用方式] 索引標籤。
請注意,Geography Cube 維度目前與 Internet Sales 量值群組或 Reseller Sales 量值群組沒有關聯性。
按兩下 [Customer] 維度交集處 [全名] 數據格中的省略號按鈕(...],以及 [因特網銷售] 量值群組的交集。
在 [定義關聯性] 對話框中,請注意,[一般 關聯性] 定義於 DimCustomer 維度數據表和 FactInternetSales 量值群組數據表,根據每一個數據表中的 CustomerKey 數據行。 您在本教學課程中定義到此時間點的所有關聯性都是一般關聯性。
下圖顯示 [定義關聯性] 對話框,其中 DimCustomer 維度數據表與 FactInternetSales 量值群組數據表之間的一般關聯性。
點選 [取消]
。 單擊 [Geography] 維度交集處未命名單元格中的省略號按鈕(...),以及 轉銷商銷售 量值群組的交集。
在 [定義關聯性] 對話框中,請注意,[地理位置] Cube 維度與 [轉售商銷售] 量值群組之間目前沒有定義關聯性。 您無法定義一般關聯性,因為 Geography 維度的維度數據表與 Reseller Sales 量值群組的事實數據表之間沒有直接關聯性。
在 [選取關聯性類型 列表中,選取 [參考。
您可以藉由指定直接連接到量值群組數據表的維度來定義參考關聯性,此維度稱為 中繼維度,SQL Server Analysis Services 可用來將參考維度連結至事實數據表。 然後,您可以指定將參考維度連結至中繼維度的屬性。
在 [中繼維度] 列表中,選取 [轉銷商]。
Geography 維度的基礎表會透過 Reseller 維度的基礎表連結到事實數據表。
在 [參考維度屬性] 清單中,選取 [Geography 索引鍵],然後嘗試在 [中繼維度 屬性] 列表中選取 [Geography Key]。
請注意,Geography 索引鍵 不會出現在 中繼維度屬性 列表中。 這是因為 GeographyKey 數據行未定義為 Reseller 維度中的屬性。
點選 [取消]
。
在下一個工作中,您將定義以 Reseller 維度中 GeographyKey 數據行為基礎的屬性,以解決此問題。
定義中繼維度屬性和參考維度關聯性
開啟 Reseller 維度的維度設計工具,然後在 [數據源檢視] 窗格的 [Reseller] 數據表中檢視數據行,並在 [ 属性] 窗格的 [Reseller] 維度中檢視已定義的屬性。
請注意,雖然 GeographyKey 定義為 Reseller 資料表中的數據行,但轉售商維度中不會根據此數據行定義任何維度屬性。 Geography 定義為 Geography 維度中的維度屬性,因為它是將該維度基礎表連結至事實數據表的索引鍵數據行。
若要將
Geography Key 屬性新增至Reseller 維度,請在 [數據源檢視] 窗格中,以滑鼠右鍵按兩下 [GeographyKey ],然後按兩下 [從數據行 新增屬性]。 在 [属性] 窗格中, 選取 [Geography 索引鍵],然後在 [屬性] 視窗中,將 AttributeHierarchyOptimizedState 屬性設定為 NotOptimized、AttributeHierarchyOrderarchyOrder ed 屬性 False,並將 AttributeHierarchyVisible 属性設為 False。
Reseller 維度中的 Geography Key 屬性只會用來將 Geography 維度連結至 Reseller Sales 事實數據表。 因為它不會用於流覽,所以沒有值會將這個屬性階層定義為可見。 此外,排序和優化屬性階層只會對處理效能造成負面影響。 不過,必須啟用 屬性,才能做為兩個維度之間的連結。
切換至 SQL Server Analysis Services 教學課程 Cube 的 Cube 設計工具,按兩下 [維度使用方式] 索引卷標,然後按兩下 轉銷商銷售 量值群組和 Geography Cube 維度交集處的省略號按鈕 [...]。
在 [選取關聯性類型 列表中,選取 [參考。
在 [中繼維度] 列表中,選取 [轉銷商]。
在 [
參考維度屬性 ] 清單中,選取 [Geography 索引鍵 ],然後在 [中繼維度屬性] 清單中選取 [ ]。Geography 索引鍵 請注意,已選取 [具體化] 複選框。 這是 MOLAP 維度的預設設定。 具體化維度屬性連結會導致事實數據表與每個數據列的參考維度之間的連結值在處理期間具體化或儲存在維度的 MOLAP 結構中。 這會對處理效能和記憶體需求產生輕微的影響,但會大幅提升查詢效能(有時明顯)。
按下 [確定] 。
請注意,Geography Cube 維度現在已連結至 Reseller Sales 量值群組。 圖示表示關聯性是參考的維度關聯性。
在 [維度 使用方式] 索引卷標的 [維度] 列表中,以滑鼠右鍵按兩下 [Geography],然後按兩下 [重新命名]。
將此 Cube 維度的名稱變更為 Reseller Geography。
由於此 Cube 維度現在已連結至 Reseller Sales 量值群組,因此使用者將受益於在 Cube 中明確定義其用法,以避免使用者混淆。
依地理位置成功維度化轉銷商銷售
在 [建置] 功能表上,按兩下 [[部署 Analysis Services 教學課程]。
部署順利完成時,按兩下 [Cube 設計工具] 中 SQL Server Analysis Services 教學課程 Cube 中的 [
Browser ] 索引標籤,然後按兩下 [重新連線] 按鈕。 在元數據窗格中,展開 [轉售商地理位置],以滑鼠右鍵按兩下 [地理位置],然後按兩下 [新增至數據列區域]。
請注意,Reseller Sales-Sales Amount 量值現在已由 地理位置 使用者定義階層的 Country-Region 屬性正確維度,如下圖所示。