Qual è il modo migliore per modellare un gerarchia incompleta in SSAS sia per ROLAP e MOLAP?

StackOverflow https://stackoverflow.com/questions/1122979

  •  13-09-2019
  •  | 
  •  

Domanda

Al momento sto cercando di modellare una gerarchia incompleta in SSAS e mi sono bloccato.

Per prima cosa, stavo cercando di modellare in questo modo:

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

Se l'ultima riga in questo esempio ha avuto spazi vuoti per i livelli "mancanti".

Qui, ROLAP saputo interpretare la gerarchia va bene, ma la modalità MOLAP liquidazione mis-classificazione dei membri dalla tabella dei fatti, in modo che le aggregazioni erano fuori.

Poi, ho cambiato in questo sull'esempio dimensione SalesTerritory AdventureWorksDW che è stata una gerarchia incompleta:

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

sto approfittando della HideIfOnlyChildAndSameNameAsParent per nascondere i membri.

Ora i numeri di MOLAP allineano, ma nella terra di ROLAP, sto avendo grandi rallentamenti perché il livello 1 della mia gerarchia ha circa 10000 membri -. SSAS va a pranzo su un'espansione

Quindi, ovviamente mi manca qualcosa, ma non ho visto molti esempi sul modo "giusto" di fare una gerarchia incompleta.

Grazie per eventuali risposte.

È stato utile?

Soluzione

In generale, "gerarchia irregolare" è una traduzione immediata di "padre-figlio" per me. Che ci si vuole che vada in questo modo:

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 genererà questo padre / figlio per voi una volta si dice ciò che il ParentID è. Piuttosto automagic. Inoltre, qui ho usato ItemID come una chiave surrogata, e usato il ParentID, che ha sottolineato che. Ci sono una lunga lista di motivi per utilizzare gli interi, ma per padre / figlio, che cosa si dovrebbe fare è utilizzare l'ID come colonna chiave, e quindi aggiungere ItemKey come attributo / relazione a detti colonna chiave. È quindi possibile ordinare Item (manca da questo schema) di Attribute Key e selezionare ItemKey. È inoltre possibile scegliere se mostrare o meno che la proprietà per l'utente.

SSAS, per default, presuppone che un null o chiave padre autoreferenziale è un nodo radice. Io generalmente uso null perché sono più facili per me vedere quando sto scorrendo i record. Ma, questa è una cosa preferenza.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top