Die relevanten Strukturen von meinem Cube sind, dass ich eine Hierarchie mit "Class" und "SubClass" habe. Ich habe auch eine Maßnahme namens "Value", was ich versuche zu erhalten.MDX-Abfrage, die 2 Dimensionen aus derselben Hierarchie enthält
SELECT
NON EMPTY ([Measures].[Value]) ON COLUMNS,
NON EMPTY ([Some Dimension].[Class Hierarchy].[Class]) ON ROWS
FROM [MyCube]
Und ich kann die SubClass mit der Hierarchie offenbar gelesen, die zu ADOMD zurückgegeben:
Eine einfache Abfrage wie folgt aussehen kann.
Mein Problem ist zweifach, erstens, wie würde ich diese Hierarchie "abflachen", um sowohl Klasse als auch Unterklasse als diskrete Mitglieder im CellSet zu erhalten? Dies funktioniert nicht:
SELECT
NON EMPTY ([Measures].[Value]) ON COLUMNS,
NON EMPTY (
[Some Dimension].[Class Hierarchy].[Class],
[Some Dimension].[Class Hierarchy].[Sub Class]
) ON ROWS
FROM [MyCube]
Die Klassenhierarchie Hierarchie mehr als einmal in der Crossjoin Funktion
Zweite Ausgabe verwendet wird, was ich actuually tun müssen, ist die oben auf bestimmte Klassen zu filtern, Auch dies funktioniert nicht aus dem gleichen Grund wie oben.
SELECT
NON EMPTY ([Measures].[Value]) ON COLUMNS,
NON EMPTY (
{[Some Dimension].[Class Hierarchy].[Class].&[ClassA],[Some Dimension].[Class Hierarchy].[Class].&[ClassB]},
[Some Dimension].[Class Hierarchy].[Sub Class]
) ON ROWS
FROM [MyCube]
Jede Hilfe sehr geschätzt. MDX macht mich verrückt!
Danke für die Antwort, aber ich fürchte, es ist falsch. Dies führt zu demselben Fehler "Die Klassenhierarchie-Hierarchie wird in der Crossjoin-Funktion mehrfach verwendet" – Jamiec
Entschuldigung. Es funktioniert gut auf meinem Würfel. Überprüfen Sie, ob Sie die geschweiften Klammern und Klammern an den richtigen Stellen haben. Ich bin ein bisschen verwirrt, dass Sie über eine Crossjoin-Funktion sprechen, aber es ist nicht in Ihrem Beispiel MDX. Normalerweise wird es durch die * zwischen Dimensionen angezeigt. – jvilalta
Sind Sie sicher, dass Ihr Cube die 2 Dimensionen auf derselben Hierarchie hat? Ich kann auch keinen Unterschied zwischen der Verwendung eines * für Crossjoins aus einem Komma sehen. Ich habe die Reihenfolge der Curlies & Klammern in meiner Abfrage doppelt überprüft, das gleiche Ergebnis. Ich habe versucht, das Komma durch * mit dem gleichen Ergebnis zu ersetzen. – Jamiec