2009-07-14 36 views
2

我目前正在嘗試在SSAS中建立不整齊的層次結構,並且我被卡住了。對於ROLAP和MOLAP在SSAS中建立不齊層次結構的最佳方法是什麼?

首先,我想它像這樣的模型:

ItemKey,Level0Key,Level1Key,Level2Key 
Item1,Lvl0-1,Lvl1-1,Lvl2-1 
Item2,Lvl0-1,Lvl1-1,Lvl2-1 
Item3,Lvl0-1,Lvl1-1,Lvl2-2 
**Item4,Lvl0-1, , ** 

凡在本例中的最後一行曾經爲「失蹤」的水平空白。

在這裏,ROLAP設法解釋層次結構還好,但MOLAP模式從事實表中清理了錯誤分類的成員,所以聚合關閉。

接下來,我把它改爲此基礎上AdventureWorksDW例如SalesTerritory尺寸這是一個不規則的層次結構:

ItemKey,Level0Key,Level1Key,Level2Key 
Item1,Lvl0-1,Lvl1-1,Lvl2-1 
Item2,Lvl0-1,Lvl1-1,Lvl2-1 
Item3,Lvl0-1,Lvl1-1,Lvl2-2 
**Item4,Lvl0-1,Item4,Item4** 

我服用HideIfOnlyChildAndSameNameAsParent隱藏成員的優勢。

現在MOLAP的數字排隊了,但是在ROLAP的土地上,我的重大減速是因爲我的層級1有大約10000個成員 - SSAS在擴展時會午餐。

所以很顯然我錯過了一些東西,但我沒有看到很多例子在「正確」的方式來做一個衣衫襤褸的層次結構。

感謝您的任何答案。

回答

3

一般來說,「衣衫襤褸的層級」對我來說是直接翻譯爲「親子」。你會希望它去像這樣:一旦你告訴它ParentID是什麼

ItemID ItemKey ParentID 
1   Lvl0-1  null 
2   Lvl1-1  1 
3   Lvl2-1  2 
4   Lvl2-2  2 
5   Item1  3 
6   Item2  3 
7   Item3  4 
8   Item4  1 

SSAS會爲你生成這個父/子。而是自動的。另外,在這裏我使用ItemID作爲替代鍵,並使用指出的ParentID。有很長的使用整數的原因列表,但對於父/子,您應該做的是將ID用作鍵列,然後將ItemKey作爲屬性/關係添加到所述鍵列。然後您可以訂購Item(從此架構中缺失)Attribute Key並選擇ItemKey。您也可以選擇是否向用戶顯示該屬性。

默認情況下,SSAS假定null或自引用父密鑰是根節點。我通常使用null,因爲當我滾動瀏覽記錄時,我更容易看到它們。但是,這是一個偏好的事情。

+0

謝謝 - 我很害怕 - 我試圖不要做父母的孩子。 – Eli 2009-07-28 00:24:10

相關問題