2010-12-13 21 views
1

私はOLAPを持っています基本的に、親子関係を持つディメンションがあります。 したがって、ディメンションには親IDと子IDがあります。親子関係のMDXクエリ

子IDを持つファクトテーブルが存在します。私は親の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関数を見てください。

あなたは階層の中でどこから始めたいのか、どこで停止したいのかを言うだけです。その後、開始点と終了点の間のすべてのレベルを与えます。

後、次のMDXは、「あなたの親-ID」の下であなたのサブツリーを与える必要がありますあなたのモンドリアンスキーマキューブの一部ので、私はあなたに正確な構文を与えることができます

+0

私のキューブの部分を追加しました。それを調べてください。ありがとう –

+0

@Anand:あなたの次元がちょうど1つのレベルを持っているのは普通ですか?あなたが私に与えたものから、この階層Parent - > Child、深くはありません。それはあなたが欲しいものですか? – Spredzy

+0

私が言っていることは、子供が子供を持つことができ、子どもが生まれるということです。だから、ノードがあれば、すべての子ノード、それらの子孫の子孫などを階層全体で再調整できる必要があります –

0

は を選択[ [あなたのFROM 1 ON測定]。[あなたの小節] 0に、 子孫([サプライヤ]。& [あなたの親-ID]、[サプライヤ]。& [あなたの親-ID] .level、SELF_AND_AFTER)キューブ]