Мондриан | Родительско-дочерняя иерархия не работает должным образом

Я создал измерение с родительско-дочерней иерархией следующим образом:

<Dimension type="StandardDimension" visible="true" foreignKey="ContextID" 
       highCardinality="false" name="Learning Context">
  <Hierarchy name="Learning Context Level" allMemberName="All Contexts" 
       hasAll="true" primaryKey="ID">
    <Table name="LearningContext">
    </Table>
    <Level name="ID" visible="true" column="ID" type="Numeric" 
       uniqueMembers="true" levelType="Regular" hideMemberIf="Never" 
       parentColumn="ParentID">
    </Level>
  </Hierarchy>
</Dimension>

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

Например: у меня есть строка с идентификатором 5, дочерние элементы которой я хочу видеть. Теперь мой запрос mdx..

select
    Descendants([Learning Context.Learning Context Level].&[5],
             [Learning Context.Learning Context Level].[ID], SELF_AND_AFTER) on 0
from
    StudentActivity

который говорит:

Mondrian Error:MDX object '[Learning Context.Learning Context Level].&[5]' not 
found in cube 'StudentActivity'

Но когда я выполняю следующий запрос... он отлично работает.

select
    Descendants([Learning Context.Learning Context Level].&[1].&[2].&[3].&[5], 
             [Learning Context.Learning Context Level].[ID], SELF_AND_AFTER) on 0
from
    StudentActivity

Я не хочу использовать всех родителей ребенка, чтобы получить его детей.

Пожалуйста, помогите мне.


person Sukhdeep Singh Handa    schedule 31.05.2013    source источник


Ответы (1)


Если вы используете иерархию родитель-потомок, вы должны подготовить и использовать таблицу замыкания.

person user6667506    schedule 02.08.2016