Schlüsselkonzepte in MDX (MDX)

Mithilfe von MDX (Multidimensional Expressions) können Sie mehrdimensionale Daten abfragen oder MDX-Ausdrücke zur Verwendung innerhalb eines Cubes erstellen. Voraussetzung dafür ist jedoch, dass Sie über Grundkenntnisse der Dimensionskonzepte und der Terminologie von Microsoft SQL Server Analysis Services verfügen. Der folgende Abschnitt enthält eine kurze Beschreibung der zum Verständnis von MDX benötigten Grundkonzepte der Dimensionsmodellierung sowie der Terminologie. Die nachfolgenden Abschnitte veranschaulichen, wie diese Konzepte angewendet werden.

Begriffe und Konzepte der Dimensionsmodellierung

Die Struktur eines Cubes in Microsoft SQL Server Analysis Services basiert auf Measures, Dimensionen sowie Dimensionsattributen. In der folgenden Tabelle werden die Begriffe und Konzepte der Dimensionsmodellierung erläutert, die Sie zum Verwenden der MDX-Ausdruckssprache kennen müssen.

  • (Alle)-Element
    Das (Alle)-Element ist der berechnete Wert aller Elemente in einer Attributhierarchie oder einer benutzerdefinierten Hierarchie.

  • Attributhierarchie
    Eine Attributhierarchie ist eine Hierarchie von Attributelementen, die folgende Ebenen enthält:

    • Eine Blattebene, die die verschiedenen Attributelemente enthält. Die Elemente der Blattebene werden auch als Blattelemente bezeichnet.

    • Zwischenebenen, wenn es sich bei der Attributhierarchie um eine Parent-Child-Hierarchie handelt

    • Eine optionale (Alle)-Ebene (IsAggregatable=True), die die aggregierten Werte der Blattelemente der Attributhierarchie enthält. Die Elemente der (Alle)-Ebene werden auch als (Alle)-Elemente bezeichnet.

    Standardmäßig wird für jedes Dimensionsattribut eine Attributhierarchie definiert (AttributeHierarchyEnabled=True). Attributhierarchien sind standardmäßig sichtbar (AttributeHierarchyVisible=True).

  • Attributbeziehung
    Eine Attributbeziehung ist eine 1:n-Beziehung zwischen Attributen. Ein Beispiel dafür ist die Beziehung zwischen einem State- und einem City-Dimensionsattribut.

  • Ausgeglichene Hierarchie
    Eine ausgeglichene Hierarchie ist eine Hierarchie, in der zwischen der obersten Ebene und jedem Blattelement die gleiche Anzahl von Ebenen liegen.

  • Berechnetes Element
    Ein berechnetes Element ist ein Dimensionselement, das zum Abfragezeitpunkt definiert und berechnet wird. Ein berechnetes Element kann in einer Benutzerabfrage oder in einem MDX-Berechnungsskript definiert und auf dem Server gespeichert werden. Ein berechnetes Element entspricht Zeilen in der Dimensionstabelle der Dimension, in der diese definiert sind.

  • Zelle
    Eine Zelle in einem Cube ist der Raum am Schnittpunkt zwischen einem Element der Measuredimension und einem Element von jeder Attributhierarchie in einem Cube.

    • Beim Element der Measuredimension kann es sich um ein Blattelement (ein einzelner Fakt) oder ein aggregiertes Element (z. B. aggregierte Umsätze für ein bestimmtes Jahr) handeln.

    • Bei einem Element einer Dimension kann es sich um ein Blattelement, ein Datenelement, ein übergeordnetes Element oder ein (Alle)-Element handeln.

  • Untergeordnetes Element
    Ein untergeordnetes Element ist ein Element in einer Hierarchie, das sich unterhalb der obersten Ebene befindet.

  • Cubedimension
    Eine Cubedimension ist eine Instanz einer Datenbankdimension in einem Cube.

  • Cuberaum
    Der Cuberaum ist das Produkt aus den Elementen der Attributhierarchien eines Cubes und den Measures des Cubes.

  • Datenelement
    Ein Datenelement ist ein untergeordnetes Element, das mit einem übergeordneten Element in einer Parent-Child-Hierarchie verknüpft ist. Ein Datenelement enthält den Datenwert des ihm übergeordneten Elements, nicht den aggregierten Wert der untergeordneten Elemente des übergeordneten Elements.

  • Datenbankdimension
    Eine Datenbankdimension ist eine Auflistung von Dimensionsattributen, die mit einem Schlüsselattribut verknüpft sind, welches wiederum mit Fakten in der Measuredimension verknüpft ist.

  • Dimensionsattribut
    Ein Dimensionsattribut ist an eine oder mehrere Spalten der Dimensionstabelle gebunden und enthält Elemente. Dimensionsattribute können z. B. Kundennamen, Monatsnamen oder Produktnamen enthalten.

  • Granularitätsattribut
    Das Attribut einer Cubedimension, das eine Dimension mit den Fakten in einer Measuregruppe in der Measuredimension verknüpft. Wenn Granularitätsattribut und Schlüsselattribut unterschiedliche Attribute sind, müssen Nichtschlüsselattribute direkt oder indirekt mit dem Granularitätsattribut verlinkt sein. Innerhalb eines Cubes definiert das Granularitätsattribut die Granularität einer Dimension.

  • Schlüsselattribut
    Das Schlüsselelement einer Datenbankdimension ist das Attribut, mit dem alle Nichtschlüsselattribute in der Dimension (direkt oder indirekt) verknüpft sind. Das Schlüsselattribut ist häufig gleichzeitig auch das Granularitätsattribut.

  • Blattelement
    Ein Blattelement ist ein Element einer Hierarchie, das keine ihm untergeordneten Elemente besitzt.

  • Measure
    Ein Measure ist ein Wert aus einer Faktentabelle, der auch als Fakt bezeichnet wird. Werte in einer Measuredimension werden allgemein gelegentlich auch als Elemente bezeichnet. Measures sind im Allgemeinen numerische Werte, können aber auch Zeichenfolgenwerte sein.

  • Measuregruppe
    Eine Measuregruppe ist eine Auflistung von verknüpften Measures in einem Cube in SQL Server Analysis Services (im Allgemeinen Measures aus der gleichen Faktentabelle). In SQL Server Analysis Services kann ein Cube mehrere Measuregruppen enthalten.

  • Measuredimension
    Eine Measuredimension ist eine Dimension, die alle Measures im Cube enthält. Bei der Measuredimension handelt es sich um eine besondere Art von Dimension, in der die Elemente in der Regel aggregiert sind (im Allgemeinen durch Summierung oder Zählen) und zwar basierend auf dem aktuellen Element jedes Dimensionsattributs, zu dem ein angegebenes Measure vorhanden ist.

  • Element
    Ein Element ist der Wert eines Dimensionsattributs, einschließlich der Measuredimension. Bei einem Element in einer Hierarchie kann es sich um ein Blattelement, ein übergeordnetes Element, ein Datenelement oder ein (Alle)-Element handeln.

  • Elementeigenschaft
    Eine Elementeigenschaft ist eine Eigenschaft eines Attributelements, z. B. das Geschlecht eines Kunden oder die Farbe eines Produkts.

  • Übergeordnetes Element
    Ein übergeordnetes Element ist ein Element einer Parent-Child-Hierarchie, das den aggregierten Wert der ihm untergeordneten Elemente enthält.

  • Parent-Child-Hierarchie
    Eine Parent-Child-Hierarchie ist eine besondere Art von Attributhierarchie, in der für ein Attribut in der Dimension der Typ parent festgelegt ist. Eine Parent-Child-Hierarchie ist eine unausgeglichene Hierarchie von untergeordneten und übergeordneten Elementen. Parent-Child-Hierarchien enthalten die folgenden Ebenen:

    • Child-Ebenen (untergeordnete Ebenen), die die untergeordneten Elemente von übergeordneten Elementen enthalten. Die untergeordneten Elemente eines übergeordneten Elements enthalten die Attributelemente, die zum übergeordneten Element aggregiert werden, einschließlich der Datenelemente.

    • Zwischenebenen, die übergeordnete Elemente enthalten

    • Eine optionale (Alle)-Ebene (IsAggregatable=True), die die aggregierten Werte der Blattelemente der Parent-Child-Hierarchie enthält. Die Elemente der (Alle)-Ebene werden auch als (Alle)-Elemente bezeichnet.

    • Pro Dimension ist nur eine einzige Parent-Child-Hierarchie möglich und die Hierarchie muss mit dem Schlüsselattribut verknüpft sein.

  • Unregelmäßige Hierarchie
    Siehe unausgeglichene Hierarchie.

  • Teilcube
    Ein Teilcube ist eine Untermenge eines Cubes, die einer gefilterten Sicht des Cubes entspricht. Teilcubes können mithilfe von SCOPE-Anweisungen in einem MDX-Berechnungsskript oder mithilfe untergeordneter SELECT-Klauseln in einer MDX-Abfrage oder als ein Sitzungscube definiert werden.

  • Mithilfe untergeordneter SELECT-Klausel definierter Teilcube
    Ein Teilcube, der mithilfe einer untergeordneten SELECT-Klausel in einer MDX-Abfrage definiert wird, schließt alle Elemente, die der Teilcubedefinition entsprechen, ein. Dies hat folgende Konsequenzen:

    • Durch Einschließen eines beliebigen Elements werden auch die ihm vorausgehenden und nachfolgenden Elemente eingeschlossen.

    • Durch Einschließen aller Elemente einer Ebene einer benutzerdefinierten Hierarchie werden alle Elemente der benutzerdefinierten Hierarchie eingeschlossen. Es können jedoch Elemente ausgeschlossen werden, für die keine Elemente auf der Ebene vorhanden sind (wie z. B. eine Stadt ohne Kunden).

    • Sämtliche (Alle)-Elemente eines Cubes sind stets in seinen Teilcubes vorhanden.

    • Alle Werte, die im Teilcube aggregiert werden, spiegeln nur den Raum des neuen Cubes und nicht den Raum des äußeren Cubes wider, von dem dieser Cube abgeleitet wurde.

  • Unausgeglichene Hierarchie
    Eine unausgeglichene Hierarchie ist eine Hierarchie, in der zwischen der obersten Ebene und den Blattelementen unterschiedlich viele Ebenen liegen. Ein Beispiel für eine unausgeglichene Hierarchie ist die Parent-Child-Hierarchie. Unausgeglichene Hierarchien werden auch unregelmäßige Hierarchien genannt.

  • Benutzerdefinierte Hierarchie
    Eine benutzerdefinierte Hierarchie ist eine ausgeglichene Hierarchie von Attributhierarchien, die es dem Benutzer ermöglicht, Cubedaten zu durchsuchen. Benutzerhierarchien vergrößern nicht den Cuberaum. Ebenen in einer benutzerdefinierten Hierarchie können unter bestimmten Bedingungen ausgeblendet werden. Die Hierarchie erscheint dann unausgeglichen.