Я сейчас пытаюсь смоделировать неровную иерархию в 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 привел к неправильной классификации элементов из таблицы фактов, поэтому агрегации были отключены.
Затем я изменил его на это на основе примера SalesTerritory AdventureWorksDW, который представлял собой неровную иерархию:
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 отправляется на обед на расширение.
Так что, очевидно, я что-то упускаю, но я не видел много примеров «правильного» способа построения рваной иерархии.
Спасибо за любые ответы.