MDX (multidimensional expression)

Multidimensional Expression (MDX) ist eine Abfrage-Programmiersprache für multidimensionale Strukturen, wie sie der OLAP-Würfel beschreibt. Die Abfragesprache MDX wurde im wesentlichen von Mosha Pasumansky entwickelt und von Microsoft weiterentwickelt.


Multidimensional Expression (MDX) ist als DB-Sprache für multidimensionale Datenbanken optisch an die bekannte Datenbank-Programmiersprache SQL angelehnt, hat aber eine eigene Syntax, die für SQL-Programmierer (gerade wegen ihrer oberflächlich ähnlichen Syntax) anfangs etwas gewöhnungsbedürftig ist. Die Unterschiede rühren unter anderem daher, dass bei SQL immer nur Datensätze abgefragt werden, also im Prinzip eindimensionale Listen mit mehreren Werten pro Zeile (mit einer festen Struktur).

In MDX werden hingegen mehrdimensionale Strukturen, sogenannte OLAP-Würfel, abgefragt, analog dem Prinzip einer Pivottabelle. Letztere sind denn oft auch die verwendete Darstellungsart von MDX-Abfragen, z.B. in MS Excel oder Open Office Calc. Deshalb werden in MDX meist nur die zwei Achsen einer Pivottabelle plus eventuelle Filter benutzt, obwohl bis 128 Achsen möglich sind.

MDX-Beispiel im Vergleich zu SQL

MDX-Beispiel im Vergleich zu SQL

Der Begriff der Menge ist in MDX unterschiedlich zu SQL. MDX unterscheidet zwischen Tupeln und Mengen (Englisch: Set). Ersteres ist ein Konstrukt aus Elementen verschiedener Attribute, letzteres besteht aus mehreren Elemente eines Attributs oder mehreren gleich strukturierten Tupeln. Z.B. kann eine Menge alle Monate eines Jahres beinhalten, ein Tupel beinhaltet z.B. den aktuellen Monat und eine Produktlinie. Der aktuelle Monat allein kann sowohl als Tupel, als Menge wie auch als Element (als sogenannter Member) dargestellt werden. Der Begriff Attribut wird hier teilweise Synonym zur üblichen Verwendung des Begriffs Dimension verwendet.

Hauptvorteil der Verwendung von Multidimensional Expression ist die erweiterte Selektierbarkeit über multidimensionale Strukturen und die relativen Berechnungen (Prozent, Vorperioden, Year-to-date/month-to-date, …). Nachteile sind die wenig intuitive Syntax, die eher verwirrende Anlehnung an SQL, die auf OLAP-Strukturen beschränkten Einsatzmöglichkeiten und die fehlende Unterstützung der Data Definition Language (DDL).

MDX ist deshalb bei weitem nicht so stark verbreitet wie SQL. Trotzdem gibt es einige namhafte Hersteller, die MDX einsetzen. Die bekanntesten Werkzeuge sind die Microsoft SQL Server Analysis Services und Oracle Hyperion Essbase.

Informationen zum Artikel
Deutsch: Multidimensionaler Ausdruck
Englisch: multidimensional expression - MDX
Veröffentlicht: 25.07.2017
Wörter: 339
Tags: #Datenbanken
Links: Analog, Attribut, Datensatz, DDL (data definition language), Dimension