2010-12-13 102 views
1

我有一個OLAP基本上有一個具有父子關係的維度。 所以維度有一個父母身份和一個孩子ID。父母子關係的MDX查詢

存在一個具有child-id的事實表。當我提供父母身份證時,我希望爲孩子和所有給定的孩子獲取數據。

如何在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

看看DESCENDANT MDX功能。

你只是說你想從哪個層次開始,然後在哪個層次停止。然後它會給你開始和結束點之間的所有級別。

安置自己的蒙德里安模型的立方體的一部分,所以我可以給你確切的語法

+0

我已經添加了我的多維數據集的一部分。請仔細研究一下。謝謝 – 2010-12-14 12:31:36

+0

@Anand:你的維度只有一個級別是正常的嗎?從你給我的所有我可以得到的是這個層次父 - >孩子,沒有更深。那是你要的嗎 ? – Spredzy 2010-12-14 13:01:31

+0

我的意思是,一個孩子可能會有一個孩子,反過來可能有一個孩子。所以給定一個節點,我必須能夠重新調整所有子節點,這些子節點的孩子等等 – 2010-12-15 15:07:22

0

以下MDX應該給你下的「你父ID」子樹:

選擇 [ [您的措施] 0, 後代([供應商] .[your-parent-id],[供應商]。& [your-parent-id] .level,SELF_AND_AFTER)ON 1 FROM [your -cube]