2009-07-14 37 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

相关问题