MDX (Multidimensional Expressions) ist eine von Microsoft entwickelte Abfragesprache für Queries über multidimensionale Daten. Ein MDX-Ausdruck liefert eine mehrdimensionale Ergebnismenge (Dataset), die aus Achsendaten und Zelldaten besteht.
Die Syntax für Multidimensional Expressions ist in der Microsoft-Spezifikation OLE DB for OLAP definiert.
Die folgende Tabelle gibt einen Überblick über die wichtigsten Bestandteile von MDX-Statements:
MDX-Bestandteil |
Bedeutung |
FROM |
Selektion eines Cube |
SELECT ON COLUMNS |
Definition der Achsen Definition der Achse der Spalten
|
WHERE |
Definition der Filter-Bedingungen |
Das folgende Beispiel einer MDX-Abfrage enthält die genannten Elemente:
SELECT
{ [Measures].[CKF_SI_PROFIT],
[Measures].[0D_DOCUMENT],
[Measures].[0D_OORVALSC]
} ON COLUMNS,
NON EMPTY
[0D_PLANT].MEMBERS
ON ROWS
FROM [0D_SD_C03/SAP_DEMO_OLEDB]
WHERE
( [0CALMONTH].[200101],
[0D_COUNTRY].[US] )
Die folgende Grafik zeigt dieses Beispiel und das Ergebnis:
Beispiele für Grundbausteine
Entität |
Beispiel |
Member (Merkmalswert) |
[City].[Las Vegas], [Time].[Year].[2003] |
Tuple (mehrere Merkmalswerte verschiedener Merkmale) |
([City].[Las Vegas],[Time].[Year].[2003],[Event].[SAP TechEd 2003]) |
Set (mehrere Tuple oder Member) |
{([City].[Los Angeles],[Time].[Year].[2002]),([City].[Las Vegas],[Time].[Year].[2003]),} |
Value (Zahl, Zeichen) |
5, “red” |
Beispiele für Ausdrücke, die die oben genannten Entitäten generieren
Ausdruck |
Beispiel |
Member als Ergebnis |
<member>.PARENT |
Set als Ergebnis |
TOPCOUNT(<set>,<index>,<numeric_value_expression>) |
Zahl als Ergebnis |
MAX(<set>[, <numeric_value_expression>]) |