什么是一个不规则的层次结构在SSAS模型都ROLAP和MOLAP的最佳方式?
-
13-09-2019 - |
题
目前,我正在试图在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出去吃午饭的扩展
所以,很显然,我失去了一些东西,但我还没有看到对“正确”的方式做一个不规则的层次结构例子很多。
感谢您的任何答案。
解决方案
一般情况下,“不规则的层次结构”是一个即时翻译为“父子”对我来说。你会希望它去像这样:
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
一旦你告诉它ParentID
是什么SSAS会为你生成这个父/子。相反AUTOMAGIC。另外,在这里我用ItemID
代理键,并用它指出了ParentID
。有很长的原因,使用一个整数列表,但对于父/子,你应该做的是使用该ID作为键列,然后添加ItemKey
作为属性/关系说键列。然后,您可以为了Item
(从这个模式中丢失)通过Attribute Key
并选择ItemKey
。您还可以选择是否要显示属性的用户。
SSAS,默认情况下,假定一个null
或自引用母密钥是根节点。我一般用null
,因为它们更容易让我明白,当我通过滚动记录。但是,这是一个优选的事情。
不隶属于 StackOverflow