SSAS: родительско-дочерняя иерархия - PullRequest
1 голос
/ 08 октября 2010

Родительско-дочерняя иерархия

Как лучше всего представить иерархию родительско-дочерних элементов в кубе?Я видел Использование, которое может быть применено как Родитель.Я применил это, например,

ID ParentID CompanyName Ранг
1 1 AAA Отлично
2 1 BBB Хорошо
3 1 CCC Хорошо
4 1 DDD Нет

Я могу связать ID и ParentID Usage соответствующим образом, установив для ParentID значение Usage of Parent.Я также установил Родительский ключ, чтобы, если Компания сворачивается в себя, она не отображает Родителя как своего собственного дочернего (NonLeafDataHidden).

При использовании только CompanyName в браузере куба /Excel, все работает нормально.

Проблема возникает при попытке ввести другие атрибуты, такие как Ранг.

Перетаскивание следующего в браузер куба:
- (Родительская компания,Компания ... иерархия), Ранг - Если Ранг находится в конце таблицы, Браузер кубов вообще не показывает столбец Ранг, появляется только заголовок.
- Ранг, (Родительская компания, Компания ...hierarchy) - если ранг находится в начале таблицы, браузер кубов отображается правильно.

в Excel, - (иерархия родительской компании, компании ...), ранг - если ранг находится в концеВ таблице Excel не отображает рейтинг родительской компании, но отображает рейтинг дочерних компаний во второй строке.При отображении ранга во второй строке - любые меры также повторяются:

AAA 73 - здесь для AAA ранг не отображается.Мера правильная, 23 для ребенка и 50 для родителя
BBB 10 - повторные измерения 10
Хорошо 10 CCC 8 - повторные измерения 8
ОК 8
DDD 5 - повторные измерения 5
Нет 5

  • Ранг, (иерархия родительской компании, компании ...) - если Ранг находится в начале таблицы, Excel правильно группирует и правильно суммирует.Несмотря на то, что родительская компания будет по-прежнему появляться в каждом из рангов, поскольку у нее есть дети, которые находятся в этом конкретном ранге, но меры будут приниматься только от детей, находящихся в этом ранге.

Чтолучший способ привести атрибуты родительско-дочерней иерархии?Из проблем, с которыми я сталкивался выше, я испытываю желание создать новую таблицу (родительскую компанию), используя именованный запрос, и присоединиться к ней напрямую с помощью ParentID - фактически псевдоним.

1 Ответ

0 голосов
/ 11 октября 2010

Я нашел несколько вещей по причинам, по которым происходят определенные вещи при включении дополнительных атрибутов в иерархию P-C:

  • Обратите внимание, я установил Родительский ключ, чтобы, если Компания свернется сама с собой, она не показала Родителя как своего собственного потомка
  • Примечание. Пример структуры строки: иерархия P-C, ранг, мера

1) В Cube Browser зависит, на каком этапе иерархии вы добавляете дополнительный атрибут. например Если структура строк содержит только иерархию P-C и Measure, то вы постоянно расширяете иерархию до тех пор, пока не увидите Итого (т. Е. Самый низкий уровень иерархии). Затем, добавив атрибут Rank на этом этапе, чтобы структура Row стала следующей: иерархия P-C, Rank, Measure, заголовок атрибута Rank появляется, но никакие подробности не появляются в строке. Если дважды щелкнуть пустую ячейку, вы получите сообщение: «Не удается развернуть общий элемент».

Если вы не полностью раскрыли структуру строки, поэтому разверните только один уровень в приведенном выше примере, а затем добавьте атрибут Rank - он покажет детали атрибута Rank.

Итак, эта проблема невозможности увидеть атрибут Rank в Cube Browswer, решена.

2) Теперь возникает проблема невозможности увидеть атрибуты Родителя, поскольку иерархия настроена так, что, если Компания свернется к себе, она не покажет Родителя как своего собственного дочернего элемента. Например. Результаты в Cube Browser:

Родитель ------- Ребенок ------- Ранг

AAA ---------- BBB ---------- Хорошо

AAA ---------- CCC ---------- Хорошо

AAA ---------- DDD ---------- Нет

Я хотел бы видеть, что ААА оценивается как Отличная, поэтому я думаю, что единственный способ обойти это - показать Ребенка, где он сам является Родителем. Я думаю, что это разрешено, чтобы показать следующее:

Родитель -------- Ребенок -------- Ранг

AAA ----------- AAA ---------- Отлично

AAA ----------- BBB ---------- Хорошо

AAA ----------- CCC ---------- Ok

AAA ----------- DDD ---------- Нет

  • Обратите внимание, что в следующих примерах будет использоваться вышеуказанный подход.

3) Повторение мер - как мы показываем меры только один раз? Это то, что показано в Cube Browser, есть итоговое значение после каждого уровня Child Hierachy, есть также детали измерения уровня - в этом случае это то же самое, поэтому оно повторяется. Наконец, есть GrandTotal. Опять же, этот вопрос повторения меры также виден в Excel. Я бы хотел, чтобы отображались только уровни Total / GrandTotal - возможно ли это?

Родитель ----------- Ребенок ----------- Ранг ----------- Мера

ААА --------------- ААА ------------ Отлично -------- 50

AAA --------------- AAA ------------ Итого ------------ 50

AAA --------------- BBB ------------ Хорошо ------------- 10

AAA --------------- BBB ------------ Всего ------------ 10

AAA --------------- CCC ------------ Хорошо ---------------- 8

AAA --------------- CCC ------------ Всего ------------- 8

AAA --------------- DDD ------------ Нет -------------- 5

AAA --------------- DDD ------------ Всего ------------- 5

GrandTotal -------------------------------------------- 73

В Excel это указывается как атрибуты в отдельной строке, а меры по-прежнему повторяются для каждой строки:

Родитель ----------- Ребенок ----------- Ранг ----------- Мера

AAA ---------------------------------------------- --- 73

AAA --------------- AAA ----------------------------- 50

AAA --------------- AAA ------------ Отлично ------ 50

AAA --------------- BBB ----------------------------- 10

AAA --------------- BBB ------------ Хорошо ----------- 10

AAA --------------- CCC ------------------------------ 8

AAA --------------- CCC ------------ Хорошо -------------- 8

AAA --------------- DDD ------------------------------ 5

AAA --------------- DDD ------------ Нет ------------5

Есть ли способ удалить повторение мер?

спасибо

...