Quelle est la meilleure façon de modéliser une hiérarchie irrégulière dans SSAS pour ROLAP et MOLAP?

J'essaie actuellement de modéliser une hiérarchie déchirée dans SSAS et je suis coincé.

D'abord, j'essayais de le modéliser comme ça:

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, , ** 

Où la dernière ligne dans cet exemple avait des espaces pour les niveaux "manquants".

Ici, ROLAP a réussi à interpréter correctement la hiérarchie, mais le mode MOLAP a fini par mal classr les membres de la table de faits, de sorte que les agrégations étaient désactivées.

Ensuite, je l'ai modifié en fonction de la dimension SalesTerritory de l'exemple AdventureWorksDW, qui était une hiérarchie irrégulière:

 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** 

Je profite du HideIfOnlyChildAndSameNameAsParent pour cacher les membres.

Maintenant, les numbers du MOLAP s'alignent, mais dans le pays ROLAP, j'ai des ralentissements majeurs parce que le niveau 1 de ma hiérarchie count environ 10000 membres – SSAS va déjeuner sur une expansion.

Alors, évidemment, il me manque quelque chose, mais je n'ai pas vu beaucoup d'exemples sur la «bonne» façon de faire une hiérarchie déchirée.

Merci pour vos réponses

Généralement, la «hiérarchie déchirée» est une traduction immédiate de «parent-enfant» pour moi. Vous voudriez que ça aille comme ça:

 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 génèrera ce Parent / Enfant pour vous une fois que vous lui aurez dit ce qu'est le ParentID . Plutôt automagique. En outre, ici j'ai utilisé ItemID comme une key de substitution, et utilisé l' ParentID qui pointait vers cela. Il existe une longue list de raisons d'utiliser des entiers, mais pour Parent / Child, vous devez utiliser l'ID comme colonne Key, puis append ItemKey comme atsortingbut / relation avec la colonne key. Vous pouvez ensuite order l' Item (absent de ce schéma) par Atsortingbute Key et sélectionner ItemKey . Vous pouvez également choisir d'afficher ou non cette propriété à l'user.

SSAS, par défaut, suppose qu'une key parent null ou auto-référentielle est un nœud racine. J'utilise généralement null parce qu'il m'est plus facile de voir quand je parcours des loggings. Mais, c'est une chose de preference.