Multidimensional Expressions (MDX) ist eine Datenbanksprache für OLAP-Datenbanken. Sie wurde von Microsoft entwickelt und etabliert sich als Industriestandard. MDX ist insgesamt sehr komplex und mächtig. Von akademischer Seite wird an MDX die Kritik angebracht, dass es keine vollständige Definition der Sprache gibt und es nur scheinbar auf SQL aufbaut. MDX wird als standardisierte Abfragesprache von OLE DB for OLAP (ODBO) und XML for Analysis verwendet.
Bestandteile
Die grundlegenden Bestandteile von MDX sind Measures und Dimensions, die den Fakten und Dimensionen eines Data-Warehouse entsprechen. Die Dimensionen bestehen aus einer Menge von Members (Klassifikationsknoten), die in verschiedenen Levels (Klassifikationsstufen) über Multiple Hierarchies (Klassifikationspfade) miteinander verbunden sind, über die aggregiert werden kann. Die Members müssen jeweils eindeutig bezeichnet sein.
Anfragen
Eine MDX-Anfrage hat allgemein folgende Form:
SELECT axis ON COLUMNS, axis ON ROWS, ...
FROM cube
WHERE slice
Dabei werden aus in der Regel einem OLAP-Würfel (englisch cube; FROM
) eine Menge von Dimensionen und zu ihnen gehörende Klassifikationsknoten ausgewählt (SELECT
) und auf verschiedene Achsen der Ergebnistabelle (COLUMNS
, ROWS
, PAGES
...) abgebildet. Mit einem slice (WHERE
) kann eine Auswahl innerhalb der Fakten getroffen werden.
Mit einfachen eckigen Klammern werden Zeichenketten als Namen gekennzeichnet. Geschweifte Klammern dienen der Definition von Mengen.
Beispiel für eine MDX-Anfrage
SELECT {[Measures].[Unit Sales],[Measures].[Store Cost]} ON COLUMNS,
order(except([Promotion Media].[Media Type].members,
{[Promotion Media].[Media Type].[No Media]}),
[Measures].[Unit Sales],DESC) ON ROWS
FROM Sales
Literatur
- Mosha Pasumansky, Mark Whitehorn, Rob Zare: Fast Track to MDX. ISBN 1-84628-174-1
- George Spofford: MDX-Solutions. Wiley, 2001, ISBN 0-471-40046-7
Weblinks
- OLE DB for OLAP (Microsoft-Spezifikation)
- Chapter 6 from G Spofford's book MDX Solutions with Microsoft SQL Server Analysis Services 2005 and Hyperion Essbase
- MDX Essentials Series von William Pearson im Database Journal
- MDX Reference with examples von icCube