MDX-запрос для родительских и дочерних отношений - PullRequest
1 голос
/ 13 декабря 2010

У меня есть OLAP. В основном, есть измерение, которое имеет отношения родитель-потомок.Таким образом, измерение имеет идентификатор родителя и дочерний идентификатор.

Существует таблица фактов, которая имеет дочерний идентификатор.Я хотел бы получить данные для ребенка и всех его детей, когда я предоставляю идентификатор родителя.

Как я могу добиться этого в запросе MDX?

 <Dimension foreignKey="child_id"  name="SUPPLIER">
  <Hierarchy hasAll="true" allMemberName="all" allMemberCaption="all" primaryKey="child_id" >
    <Table name="suppliers">
    </Table>
    <Level name="SUPPLIER_L"  column="child_id" nameColumn="child_id" parentColumn="parent_id"  
    uniqueMembers="true" levelType="Regular" hideMemberIf="Never" >
    </Level>
  </Hierarchy>
</Dimension>

У меня есть измерение, где происходит эта иерархия.

Ответы [ 2 ]

2 голосов
/ 13 декабря 2010

Посмотрите на функцию DESCENDANT MDX.

Вы просто говорите, где вы хотите начать в иерархии, а затем, где вы хотите остановиться на каком уровне. Тогда он даст вам весь уровень между начальной и конечной точками.

Разместите часть вашего куба схемы Мондриана, чтобы я мог дать вам точный синтаксис

0 голосов
/ 16 декабря 2010

Следующий MDX должен дать вам поддерево под 'your-parent-id':

ВЫБРАТЬ [Меры]. [Твоя мера] на 0, Потомки ([Поставщик]. & [Идентификатор вашего родителя], [Поставщик]. & [Идентификатор вашего родителя] .level, SELF_AND_AFTER) ON 1 ОТ [ваш-куб]

...