2010-12-13 13 views
1

Ich habe eine OLAP Grundsätzlich gibt es eine Dimension, die Eltern-Kind-Beziehung hat. Also die Dimension hat eine Eltern-ID und eine Kind-ID.MDX-Abfrage für Eltern Kind Beziehung

Es gibt eine Faktentabelle, die die Kind-ID hat. Ich möchte Daten für ein Kind und alle seine gegebenen Kinder erhalten, wenn ich die Elternidentifikation zur Verfügung stelle.

Wie konnte ich dies in einer MDX-Abfrage erreichen?

<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> 

Ich habe meine Dimension, wo diese Hierarchie auftritt.

Antwort

2

Werfen Sie einen Blick auf die DESCENDANT MDX-Funktion.

Sie sagen einfach, wo Sie in der Hierarchie beginnen möchten und wo Sie auf welchem ​​Niveau anhalten möchten. Dann gibt es Ihnen das gesamte Level zwischen Start- und Endpunkten.

Beitrag der Teil des Mondrian Schema Würfel so kann ich Ihnen die genaue Syntax

+0

Ich habe den Teil meines Würfels hinzugefügt. Bitte schauen Sie hinein. Danke –

+0

@Anand: Ist es normal, dass Ihre Dimension nur eine Ebene hat? Von dem, was du mir gegeben hast, alles was ich bekommen kann ist diese Hierarchie Eltern -> Kind, nicht tiefer. Ist es das was du willst ? – Spredzy

+0

Was ich sage ist, dass ein Kind wiederum ein Kind haben könnte und das wiederum ein Kind haben könnte. Bei einem Knoten muss ich in der Lage sein, alle Kindknoten, Kinder dieser Kinder und so weiter auf der ganzen Hierarchie neu zu sortieren –

0

Die folgende MDX sollten Sie den Unterbaum geben unter 'your-Eltern-id':

SELECT [ Maßnahmen]. [Ihr-Maß] auf 0, Nachkommen ([Lieferant]. & [Ihre-Eltern-ID], [Lieferant]. & [Ihre Eltern-ID] .level, SELF_AND_AFTER) ON 1 FROM [Ihre -cube]

Verwandte Themen