Zum Inhalt springen

„Multidimensional Expressions“ – Versionsunterschied

aus Wikipedia, der freien Enzyklopädie
[ungesichtete Version][ungesichtete Version]
Inhalt gelöscht Inhalt hinzugefügt
AgentSpartiBot (Diskussion | Beiträge)
K SQL != Structured Query Language
Keine Bearbeitungszusammenfassung
Zeile 33: Zeile 33:
== Literatur ==
== Literatur ==
* George Spofford: ''MDX-Solutions''. Wiley, 2001, ISBN 0471400467
* George Spofford: ''MDX-Solutions''. Wiley, 2001, ISBN 0471400467
* Mosha Pasumansky, Mark Whitehorn, Rob Zare: ''Fast Track to MDX''. ISBN 1846281741


== Links ==
== Links ==


* [http://www.mosha.com/msolap/mdx.htm MDX Betriebsmittel] MDX Informationen und Links
[http://jpivot.sourceforge.net JPivot/Mondrian] eine freie Implementierung
* [http://msdn.microsoft.com/library/default.asp?url=/library/en-us/oledb/htm/oledbpart3_ole_db_for_olap.asp OLEDB for OLAP] amtliche Spezifikation
* [http://mondrian.sourceforge.net Mondrian] eine freie Implementierung


[[Kategorie:Data Warehouse]]
[[Kategorie:Data Warehouse]]

Version vom 4. Januar 2006, 01:37 Uhr

Multidimensional Expressions (MDX) ist eine Datenbanksprache für OLAP-Datenbanken. Sie wurde von Microsoft vorangetrieben und etabliert sich als Industriestandard. MDX wurde wesentlich von Mosha Pasumansky entwickelt. 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 nur scheinbar auf SQL aufbaut.

Bestandteile

Die grundlegenden Bestandteile von MDX sind Measures und Dimensions, die den Fakten und Dimensionen eines Data Warehouse entsprechen. Die Dimensionen bestehen aus eine 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 Cube (FROM) eine Menge von Dimensionen und zu ihnen gehörenden 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