Multidimensional Expressions (MDX)
Multidimensional Expressions (MDX) ist eine Datenbanksprache für analytische Problemstellungen. MDX ist eine Erweiterung der SQL-Sprache, mit der Microsoft den Abfrage- und Skriptzugriff auf multidimensionale Daten ermöglicht. Die Sprache gilt als flexibel, ist aber relativ komplex. Aufgrund der hohen Flexibilität lassen sich mit MDX alle wichtigen Lösungsszenarien im klassischen Data Warehousing umsetzen.
MDX-Abfragen können verwendet werden, um an Daten zu gelangen, die in einem SQL Server Analysis Server Cube gespeichert sind. Sie geben Fakten zurück, die auf Dimensionen basieren. MDX ist insbesondere die Abfragesprache für OLAP-Datenbanken. Ähnlich wie SQL eine Abfragesprache für relationale Datenbanken ist, ist MDX eine Abfragesprache, die verwendet wird, um mit multidimensionalen Datenbanken (auch OLAP-Cubes genannt) zu interagieren und Abfragen auszuführen.
Eine multidimensionale Datenbank (oder OLAP-Cube) ist ein Verfahren zum Speichern von Daten in multidimensionaler Form, im Allgemeinen für Berichtszwecke. In mehrdimensionalen Datenbanken werden Daten (Messungen) nach Dimensionen kategorisiert. Multidimensionale Datenbanken werden oft über Dimensionen hinweg vorab zusammengefasst, um die Abfragezeit gegenüber herkömmlichen relationalen Datenbanken zu verkürzen.
Ursprünglich wurde MDX von Panorama entwickelt, die 1996 von Microsoft übernommen wurde. Viele sahen es daher als Microsoft-Standard an. Microsoft übergab die Kontrolle allerdings an ein Standardisierungsgremium. MDX ist inzwischen ein herstellerunabhängiger Standard. Das multidimensionale Datenbankprodukt von Microsoft sind die SQL Server Analysis Services.
Von akademischer Seite wird an MDX kritisiert, dass es keine vollständige Definition der Sprache gibt und es nur scheinbar auf SQL aufbaut.