2

次のように親子階層を持つディメンションを作成しました-

<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クエリに入れなければならないことです。

例 -: ID 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

子のすべての親を使用してその子を取得したくありません。

私を助けてください。

4

1 に答える 1

0

親子階層を使用する場合は、クロージャーテーブルを準備して使用する必要があります

于 2016-08-02T11:51:50.447 に答える