Benutzer-Werkzeuge

Webseiten-Werkzeuge


analyse:mdx
  • Bookmark "MDX" auf del.icio.us
  • Bookmark "MDX" auf Digg
  • Bookmark "MDX" auf Furl
  • Bookmark "MDX" auf Reddit
  • Bookmark "MDX" auf Ask
  • Bookmark "MDX" auf Google
  • Bookmark "MDX" auf Netscape
  • Bookmark "MDX" auf StumbleUpon
  • Bookmark "MDX" auf Technorati
  • Bookmark "MDX" auf Live Bookmarks
  • Bookmark "MDX" auf Yahoo! Myweb
  • Bookmark "MDX" auf Facebook
  • Bookmark "MDX" auf Newsvine
  • Bookmark "MDX" auf Yahoo! Bookmarks
  • Bookmark "MDX" auf Twitter
  • Bookmark "MDX" auf myAOL
  • Bookmark "MDX" auf Slashdot
  • Bookmark "MDX" auf Mister Wong

MDX

Multidimensional Expressions (MDX) ist eine Datenbanksprache die es ermöglicht Abfragen von mehrdimensionalen Objekten(z.B. Cubes) durchzuführen. Auch können mehrdimensionale Cellsets zurückgeben werden die die Daten des jeweiligen Cubes enthalten. MDX wurde von Microsoft entwickelt und baut scheinbar auf Structured Query Language (SQL) auf. MDX ist eine sehr komplexe und mächtige Datenbanksprache, die grundlegenden Bestandteile setzen sich aus Measures und Dimensions zusammen.

SELECT Abfragen in MDX

Die SELECT Anweisung ist die grundlegende MDX Abfrage und die am häufigsten verwendete.
Mithilfe dieser Anweisung ist es möglich Daten zum Beispiel aus einem Dreidimensionalen Cube abzufragen.
Hierfür ein vereinfachtes Beispiel ist (wenn man in diesem Cube die drei Dimensionen x, y und z hat) und diese mit der SELECT Anweisung abrufen will:

Select
on axis (x),
on axis (y),
on axis (z)
From [cubeName]

Natürlich ist dies nur eine Vereinfachte Darstellung die allerdings die Grundstruktur von SELECT Abfragen in MDX verdeutlicht.

SELECT Abfragen näher betrachtet

Ein Resultset wird in einer SELECT Anweisung in MDX angegeben und besteht aus einer Teilmenge Mehrdimensionaler Daten welche aus einem Cube stammen. Damit ein Resultset angeben wird müssen in der MDX Abfrage bestimmte Informationen enthalten sein:

  • Die im Resultset enthalte Anzahl der Achsen. Wobei das Maximum hierfür bei 128 Achsen pro MDX Abfrage liegt.
  • Die auf den Achsen enthaltene Menge von Elementen oder Tupeln die in der MDX Abfrage enthalten ist.
  • Der Name des Cubes, der den Kontext der MDX-Abfrage festlegt.
  • Die auf der Slicer Achse enthaltene Menge von Elementen oder Tupeln.
  • Die Menge von Elementen oder Tupeln, die auf der Slicer-Achse enthalten sein soll.

Folgende Klauseln werden von MDX SELECT Anweisungen verwendet um die Abfrage Achse des Cubes und der Slicer Achse zu identifizieren:

  • Abfrage Achsen die mithilfe einer SELECT Klausel in einer SELECT Anweisung von MDX bestimmt werden.
  • Die FROM Klausel in welcher der abzufragende Cube festgelegt wird.
  • Optional WHERE Klauseln mit welcher eingeschränkt wird welche Daten zurückgegeben werden indem festgelegt wird welche Elemente oder Tupeln auf der Slicer Achse verwendet werden.



Eine einfach MDX SELECT Abfrage:

Select
{[Ship Date].[Calendar]} on columns,
{[Product].[Product Categories]} on rows
from [Adventure Works]

Unterschiede MDX und SQL SELECT

Die Syntax der SELECT Anweisungen von MDX und SQL gleichen sich in ihrer Form allerdings gibt es auch deutliche Unterschiede:

  • In MDX werden Mengen angegeben indem Tupel oder Elemente in geschweiften Klammern eingeschlossen werden.
  • In MDX ist es möglich 0,1,2 oder bis zu 128 Abfragen Achsen in eine SELECT Anweisung zu verpacken. Hierbei verhält sich jede Achse genau gleich. Im Gegensatz dazu gibt es bei SQL Abfragen deutliche Unterschiede zwischen Zeilen und Spalten und deren Verhaltensweisen.
  • In MDX benennt die FROM Klausel genau wie bei SQL die Quelle der Daten bei MDX ist diese jedoch auf einen Cube beschränkt. Um auf Informationen aus anderen Cubes zuzugreifen benötigt man eine LookupCube Funktion.
  • In MDX beschreibt die WHERE Klausel die Slicer Achse welche sich wie eine unsichtbare weitere Achse verhält und die Werte die in Zellen im Resultset angeteigt werden, in Slices verteilt. Im Unterschied zu SQL WHERE wird kein direkter Einfluss auf die Anzeige der ROWS Achse genommen. Das Gegenstück zur SQL WHERE Klausel bilden in MDX andere Funktionen wie zum Beispiel die FILTER Funktion.




Quellen

  • Bookmark "MDX" auf del.icio.us
  • Bookmark "MDX" auf Digg
  • Bookmark "MDX" auf Furl
  • Bookmark "MDX" auf Reddit
  • Bookmark "MDX" auf Ask
  • Bookmark "MDX" auf Google
  • Bookmark "MDX" auf Netscape
  • Bookmark "MDX" auf StumbleUpon
  • Bookmark "MDX" auf Technorati
  • Bookmark "MDX" auf Live Bookmarks
  • Bookmark "MDX" auf Yahoo! Myweb
  • Bookmark "MDX" auf Facebook
  • Bookmark "MDX" auf Newsvine
  • Bookmark "MDX" auf Yahoo! Bookmarks
  • Bookmark "MDX" auf Twitter
  • Bookmark "MDX" auf myAOL
  • Bookmark "MDX" auf Slashdot
  • Bookmark "MDX" auf Mister Wong
analyse/mdx.txt · Zuletzt geändert: 2015/03/26 16:35 (Externe Bearbeitung)