ROLAPとMOLAPの両方のためにSSASで不揃いの階層をモデル化するための最良の方法は何ですか?
-
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の数字が並ぶが、私の階層のレベル1を約10000のメンバーを持っているので、ROLAPの土地で、私は大きな速度低下を抱えている - 。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はあなたのために、この親/子を生成します。むしろオートマジック。また、ここで私は代理キーとしてItemID
を使用し、その指さParentID
を使用しました。そこ整数を使用する理由の長いリストがありますが、親/子のために、何をやるべきことはキー列としてIDを使用して、キー列を言ったために/関係属性としてItemKey
を追加することです。その後、Item
と選択Attribute Key
でItemKey
(このスキーマから欠落している)を注文することができます。また、ユーザーにそのプロパティを表示するかどうかを選択することができます。
SSASは、デフォルトでは、null
または自己参照親キーがルートノードであることを前提としています。彼らは、私は、レコードをスクロールしていたときに私は見てのために簡単にしているので、私は、一般的にnull
を使用しています。しかし、これは好みの事である。