5.2.1、SSAS-維度-雪花維度
維度-雪花維度的建立
1 雪花維度
當事實表有多個維度但不是所有維度都直接與事實表進行關聯時,我們稱之為雪花維度。比如,產品維度直接關聯事實表,但是產品維度又關聯分類維度,此時我們稱之為雪花維度。
2 建立雪花維度
維度-》右鍵-》新建維度-》使用現有表-》資料來源檢視“AdventureWorksDW”-》主表“DimProduct”-》鍵列“ProductKey”-》名稱列“ProductKey”-》下一步-》勾選所有的相關表(SSAS會自動根據表關係將相關的表關聯出來作為維度)-》可用屬性勾選“ProductKey”“Color”“Size”-》完成-》處理-》通過瀏覽器檢視,我們可以看到每一個維度都有一個層次結構對應,它包含了兩層,All層,以及其下的所有成員值
3 修改屬性名稱
將ProductKey改為Product-》Product Category Key改為Category-》Product SubCategory Key改為SubCategory
4 建立自然層次結構(大分類-小分類-產品)
將Category屬性拖入“層次結構”區域-》重新命名為“自然層次結構”-》將SubCategory拖入“自然層次結構”的Category下(注意順序)-》將Product拖入“自然層次結構”的SubCategory下-》這樣就建立了一個自然層次結構,但是自然層次結構還需要一個合理的屬性關係來匹配-》切換到屬性關係-》如果Product指向SubCategory,SubCategory再指向Category的話就是正確的,如果不是請調整為如此-》這樣上一級的彙總會從子級彙總而來,而不是從事實表彙總而來-》處理-》瀏覽器檢視-》層次結構“自然層次結構”,可以看到自然層次結構All下有三層,但為什麼都是編號呢?
5 為屬性新增命名列
右鍵“Product”-》屬性-》設定NameColumn為EnglishProductName-》同樣設定SubCategory和Category的NameColumn屬性-》處理-》瀏覽器,看看有沒不一樣
6 建立非自然層次結構
將Color屬性拖入“層次結構”區域-》重新命名為“非自然層次結構”-》將Size屬性拖入“非自然層次結構”區域的Color屬性下-》切換到屬性關係-》發現Size和Color都由Product指出,這就對了,非自然層次結構就必須如此-》處理-》檢視,咦,為什麼每個層次結構下都有一個unknown成員值呢?
7 隱藏unknown成員值
維度結構中右鍵DimProduct維度-》屬性-》設定UnKnownMember為Hidden-》處理-》檢視,unknown成員值就沒有了