Schlüsselkonzepte in MDX (Analysis Services)

Gilt für: SQL Server Analysis Services Azure Analysis Services Fabric/Power BI Premium

Bevor Sie mehrdimensionale Daten mit MDX (Multidimensional Expressions) abfragen können oder MDX-Ausdrücke zur Verwendung in einem Cubes zu erstellen, sollten Sie sich mit Konzepten und Begriffen der Mehrdimensionalität vertraut machen.

Wir beginnen hierzu mit einem Beispiel für Datenzusammenfassung, das Sie bereits kennen, und stellen anschließend den Bezug zu MDX her. Hier sehen Sie eine pivotTable, die in Excel erstellt wurde und mit Daten aus einem Analysis Services-Beispielwürfel aufgefüllt wird.

PivotTable mit Measures und Dimensionen, die

Measures und Dimensionen

Ein Analysis Services-Cube besteht aus Measures, Dimensionen und Dimensionsattributen, die allesamt im PivotTable-Beispiel vorhanden sind.

Measures sind numerische Datenwerte aus Zellen, die als Summe, Anzahl, Prozentsatz, min, max oder Durchschnitt aufgezählt werden. Measure-Werte sind dynamisch und werden in Echtzeit anhand der Navigation und Interaktion von Benutzern in der PivotTable berechnet. In diesem Beispiel enthalten die Zellen steigende oder sinkende Reseller Sales-Werte, je nachdem, ob Sie die Achsen erweitern oder reduzieren. Sie können Reseller Sales-Werte summiert im jeweiligen Kontext für beliebige Kombinationen aus Datum (Jahr, Quartal, Monat oder Datum) und Vertriebsgebiet (Ländergruppe, Land, Region) abrufen. Measures werden auch als Fakten (in Data Warehouses) und berechnete Felder (in Tabellen- und Exceldatenmodellen) bezeichnet.

Dimensions befinden sich auf den Spalten- und Zeilenachsen einer PivotTable, und geben die Bedeutung eines Measure an. Dimensionen sind das Gegenstück zu Tabellen in relationalen Datenmodellen. Typische Beispiele für Dimensionen sind Zeit, Geografie, Produkte, Kunden, Mitarbeiter usw. Das aktuelle Beispiel enthält zwei Dimensionen: Vertriebsgebiet in den Zeilen und Datum in den Spalten. Sie könnten jedoch jederzeit weitere Dimensionen für Reseller Sales per Ziehen und Ablegen hinzufügen, um die Vertriebsleistung für diese Dimensionen anzuzeigen, wie z. B. Angebote oder Produkte. Die Möglichkeit zur Erkundung der Daten auf interessante Arten hängt von Ihren Dimensionen sowie von deren Verknüpfung mit Faktentabellen in Ihrer Datenquelle ab.

Dimension-Attribute sind benannte Elemente innerhalb einer Dimension, ähnlich wie Spalten in einer Tabelle. In diesem Fall bestehen die Dimensionsattribute für das Vertriebsgebiet aus Ländergruppen (Europa, Nordamerika, Pazifik), Ländern (Kanada, USA) und Regionen (Zentral, Nordost, Nordwest, Südost, Südwest).

Mit jedem Attribut ist eine Sammlung von Datenwerten oder Elementen verknüpft. Elemente des Ländergruppen-Attributs sind in diesem Fall Europa, Nordamerika und Pazifik. Members beziehen sich auf die tatsächlichen Datenwerte eines Attributs.

Hinweis

Ein Aspekt der Datenmodellierung ist die Formalisierung von Mustern und Beziehungen, die bereits zwischen den eigentlichen Daten existieren. Wenn Sie mit Daten arbeiten, die in eine natürliche Hierarchie fallen, wie es bei countries/regions-regions-cities der Fall ist, können Sie diese Beziehung formalisieren, indem Sie eine Attributbeziehung erstellen. Eine Attributbeziehung ist eine 1:n-Beziehung zwischen Attributen, z. B. eine Beziehung zwischen einem Staat und einer Stadt . Ein Staat hat viele Städte, aber eine Stadt gehört nur zu einem Staat. Das Erstellen von Attributbeziehungen im Modell beschleunigt die Abfrageleistung. Daher empfiehlt es sich, sie zu erstellen, wenn die Daten dies unterstützen. Sie können Attributbeziehungen auch im Dimensions-Designer in den SQL Server Data Tools erstellen. Siehe Define Attribute Relationships.

Modell-Metadaten werden in Excel in der Feldliste der PivotTable angezeigt. Vergleichen Sie die obige PivotTable mit der folgenden Feldliste. Beachten Sie, dass die Feldliste Vertriebsgebiet, Gruppe, Land, Region (Metadaten) enthält, und die PivotTable dagegen nur die Elemente (Datenwerte). Wenn Sie die Symbole kennen, können Sie die Teile von mehrdimensionalen Modellen schnell und einfach einer PivotTable in Excel zuordnen.

PivotTable-Feldliste

Attributhierarchien

Sie wissen beinahe intuitiv, welche Werte in einer PivotTable steigen oder fallen, wenn Sie die Werte auf den Achsen erweitern und reduzieren. Warum ist dies so? Die Antwort liegt in den Attributhierarchien.

Reduzieren Sie alle Achsenwerte und sehen Sie sich die Gesamtsummen der einzelnen Ländergruppen und Kalenderjahre an. Dieser Wert wird vom sogenannten (Alle-) Element innerhalb einer Hierarchie abgeleitet. Das (Alle)-Element ist der berechnete Wert aller Elemente in einer Attributhierarchie .

  • Das (Alle)-Element für alle Ländergruppen und Daten kombiniert ist $80.450.596,98

  • Das (Alle)-Element für CY2008 ist $16,038.062,60

  • Das (Alle)-Element für Pazifik ist $1,594,335.38

Diese Art von Aggregationen werden vorberechnet und gespeichert, was einen Teil zur schnellen Abfrageleistung von Analysis Services beiträgt.

PivotTable mit allen Membern als

Erweitern Sie die Hierarchie, um bis zur niedrigsten Ebene vorzudringen. Dieses Element wird als Blattelementbezeichnet. Ein Blattelement ist ein Element einer Hierarchie, das keine untergeordneten Elemente besitzt. In diesem Beispiel ist Southwest das Blattelement.

PivotTable mit Blattmember calle dout

Alle übergeordneten Elemente nennt man einfach übergeordnetes Element. USA ist das übergeordnete Element von Southwest.

Komponenten einer Attributhierarchie

All diese Konzepte zusammen ergeben das Konzept einer Attributhierarchie. Eine Attributhierarchie ist eine Hierarchie von Attributelementenmit den folgenden Ebenen:

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

  • Zwischenebenen, wenn es sich bei der Attributhierarchie um eine Über-/Unterordnungshierarchie handelt (mehr dazu später).

  • Ein (Alle)-Element, das die aggregierten Werte aller untergeordneten Attribute enthält. Optional können Sie die Ebene (Alle) ausblenden oder deaktivieren, wenn dies für die Daten nicht sinnvoll ist. Obwohl der Produktcode z. B. numerisch ist, ist es nicht sinnvoll, alle Produktcodes zu summieren oder zu durchschnittlichen oder anderweitig zu aggregieren.

Hinweis

BI-Entwickler verwenden oft Eigenschaften in der Attributhierarchie, um ein bestimmtes Verhalten in Clientanwendungen zu erreichen oder um Leistungsvorzüge umzusetzen. Beispielsweise würden Sie AttributHierarchyEnabled=False für Attribute festlegen, für die das Element (All) nicht sinnvoll ist. Alternativ können Sie das (Alle)-Element einfach ausblenden. In diesem Fall würden Sie AttributeHierarchyVisible=False setzen. Weitere Details zu Eigenschaften finden Sie unter Dimension Attribute Properties Reference .

In der PivotTable (zumindest in diesem Beispiel) werden Zeilen- und Spaltenachsen erweitert, um niedrigere Ebenen von Attributen anzuzeigen. Sie können Navigationshierarchien in einem Modell erstellen, um einen erweiterbaren Baum zu erhalten. Im AdventureWorks-Beispielmodell hat die Vertriebsgebiet-Dimension eine Hierarchie mit mehreren Ebenen von Ländergruppe über Land zu Region.

Hierarchien werden also verwendet, um einen Navigationspfad in einer PivotTable oder anderen Objekten für die Datenzusammenfassung anzugeben. Es gibt zwei grundlegende Typen von Hierarchien: ausgeglichene und unausgeglichene Hierarchien.

Ausgeglichene Hierarchien

PivotTable mit symmetrischem Hierarchieausruf

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

Eine natürliche Hierarchie entsteht natürlich aus den zugrunde liegenden Daten. Typische Beispiele sind Land-Region-Stadt, Jahr-Monat-Tag oder Kategorie-Unterkategorie-Modell. In diesen Fällen wird jede untergeordnete Ebene auf absehbare Weise von der vorherigen Ebene abgeleitet.

Mehrdimensionale Modelle enthalten hauptsächlich ausgeglichene Hierarchien, von denen viele außerdem auch natürliche Hierarchien sind.

Ein weiterer Modellierungsbegriff ist benutzerdefinierte Hierarchie, der oft als Kontrast zu Attributhierarchien verwendet werden. Dies bezeichnet alle vom BI-Entwickler erstellten Hierarchien im Gegensatz zu den automatisch von Analysis Services bei der Defintion von Attributen erstellten Attributhierarchien.

Unausgeglichene Hierarchien

PivotTable mit zerklüfteter Hierarchie, die

Eine unregelmäßige Hierarchie oder unausgeglichene Hierarchie ist eine Hierarchie, in der zwischen der obersten Ebene und den Blattelementen unterschiedlich viele Ebenen liegen. Auch hier handelt es sich um eine Hierarchie, die vom BI-Entwickler erstellt wurde, aber in diesem Fall gibt es Lücken in den Daten.

Im AdventureWorks-Beispielmodell veranschaulicht Sales Territory eine zerrungene Hierarchie, da die USA eine zusätzliche Ebene (Regionen) aufweist, die für andere Länder/Regionen in diesem Beispiel nicht vorhanden ist.

Unregelmäßige Hierarchien sind eine Herausforderung für BI-Entwickler, wenn die Clientanwendung diese nicht auf elegante Art verarbeiten kann. Im Analysis Services-Modell können Sie eine Über-/Unterordnungshierarchie erstellen, die eine Beziehung zwischen mehreren Datenebenen explizit definiert und somit Mehrdeutigkeiten bzgl. der Abfolge der Ebenen ausräumt. Details finden Sie unter Über- und untergeordnete Dimensionen .

Schlüsselattribute

Modelle sind Sammlungen miteinander verwandter Objekte, deren Zuordnungen mit Schlüsseln und Indizes verwaltet werden. Analysis Services-Modelle funktionieren auf dieselbe Weise. Für jede Dimension (Äquivalent zu Tabellen im relationalen Modell) existiert ein Schlüsselattribut. Das Schlüsselattribut wird in Fremdschlüssel-Beziehungen zur Faktentabelle (Measuregruppe) verwendet. Alle nicht-Schlüsselattribute in der Dimension werden (direkt oder indirekt) mit dem Schlüsselattribut verknüpft.

Das Schlüsselattribut ist oft, jedoch nicht immer, gleichzeitig auch das Granularitätsattribut. Granularität bezieht sich auf die Detail- oder Genauigkeitsebene der Daten. Ein schnelles Beispiel hilft auch hier beim besseren Verständnis. Berücksichtigen Sie Datumswerte: Für die täglichen Verkäufe brauchen Sie Datumswerte bis zum Tag. Für Kontingente reichen möglicherweise Quartalsangaben, aber wenn Ihre Analysedaten aus Rennergebnissen von Sportereignissen bestehen, benötigen Sie unter Umständen sogar Millisekunden. Die Genauigkeitsebene Ihrer Datenwerte nennt man auch die Körnung.

Währung ist ein weiteres Beispiel: Eine Finanzanwendung kann Geldwerte bis zu vielen Dezimalstellen nachverfolgen, während der Geldgeber Ihrer lokalen Schule möglicherweise nur Werte zum nächstgelegenen Dollar benötigt. Das Konzept der Körnung ist wichtig, um die Speicherung unnötiger Daten zu vermeiden. Indem Sie Millisekunden von einem Zeitstempel oder Cents von einem Verkaufsbetrag abschneiden, können Sie Speicherungs- und Verarbeitungszeit sparen, wenn der jeweilige Detailgrad für Ihre Analyse nicht relevant ist.

Sie können das Granularitätsattribut in der Registerkarte Dimensionsverwendung im Cube-Designer in den SQL Server Data Tools einstellen. Im AdventureWorks-Beispielmodell ist das Schlüsselattribut der Datums-Dimension der Datums-Schlüssel. Für Verkaufsaufträge ist das Granularitätsattribut gleich dem Schlüsselattribut. Für Vertriebsziele wird die Granularität vierteljährlich verwendet, und das Granularitätsattribut wird entsprechend auf Kalenderquartal gesetzt.

Modell mit dem Granularitätsattribut

Hinweis

Wenn Granularitätsattribut und Schlüsselattribut unterschiedlich sind, müssen alle Nichtschlüsselattribute direkt oder indirekt mit dem Granularitätsattribut verlinkt sein. Innerhalb eines Cubes definiert das Granularitätsattribut die Granularität einer Dimension.

Abfragebereich (Cuberaum)

Der Bereich einer Abfrage gibt die Grenzen für die auszuwählenden Daten an. Der Bereich kann vom gesamten Cube (Cubes sind die größten Abfrageobjekte) zu einer einzelnen Zelle reichen.

Der Cuberaum ist das Produkt der Elemente der Attributhierarchien eines Cubes mit den Measures des Cubes.

Subcube ist ein Teilsatz eines Cubes, der eine gefilterte Ansicht des Cubes darstellt. 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.

Cell bezieht sich auf den Abstand an einem Schnittpunkt eines Elements des Measuedimensionselements und eines Elements der einzelnen Attributhierarchien in einem Cube.

Weitere Modellierungsbegriffe

Dieser Abschnitt ist eine Sammlung von Konzepten und Begriffen, die nicht einfach in andere Abschnitte passen, aber Sie müssen noch wissen.

Berechnetes Element bezeichnet 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.

Distinct Count ist ein spezieller Measuretyp, der für Datenelemente verwendet wird, die nur einmal gezählt werden sollen. Das AdventureWorks-Beispielmodell enthält Distinct Count Measures für Internetbestellungen, Wiederverkäuferbestellungen und Verkaufsaufträge.

Measuregruppen sind eine Sammlung von einem oder mehreren Measures. Diese Gruppen sind normalerweise benutzerdefiniert und werden zum Gruppieren verwandter Measures verwendet. Distinct Count Measures sind eine Ausnahme. Diese Measures sind immer Teil einer speziellen Measuregruppe, die nur distinct Measures enthält. Die Measuregruppe wird in der PivotTable-Beispieldarstellung nicht angezeigt, aber sie wird in einer PivotTable-Feldliste als benannte Auflistung von Measures angezeigt.

Measuredimension ist die Dimension, die alle Measures in einem Cube enthält. Es wird nicht in einem mehrdimensionalen Modell verfügbar gemacht, das Sie in SQL Server Data Tools erstellen, aber es ist genauso vorhanden. Da diese Dimension Measures enthält, werden alle Elemente einer Measuredimension normalerweise aggregiert (typischerweise als Summe oder Anzahl).

Datenbankdimensionen und Cubedimensionen. In Modellen können Sie eigenständige Dimensionen definieren, die anschließend in einer beliebigen Anzahl von Cubes im gleichen Modell integriert werden. Wenn Sie einem Cube eine Dimension hinzufügen, wird sie als Cubedimension bezeichnet. Allein in einem Projekt wird es als eigenständiges Element in Objekt-Explorer als Datenbankdimension bezeichnet. Warum die Unterscheidung? Da Sie Eigenschaften der Dimensionen unabhängig voneinander setzen können. In der Produktdokumentation werden beide Begriffe verwendet, sodass es sich lohnt, zu verstehen, was sie bedeuten.

Nächste Schritte

Sie kennen nun die wichtigsten Konzepte und Begriffe und können mit diesen zusätzlichen Themen fortfahren, in denen grundlegende Konzepte von Analysis Services weiter erläutert werden:

Weitere Informationen

Cuberaum
Tupel
Autoexists
Verwenden von Elementen, Tupeln und Mengen (MDX)
Sichtbare Gesamtwerte und nicht sichtbare Gesamtwerte
Grundlegendes zu MDX-Abfragen (Analysis Services)
Grundlegendes zu MDX-Skripts (Analysis Services)
MDX-Sprachreferenz (MDX)
Multidimensional Expressions (MDX) - Referenz