Freigeben über


Wichtige Konzepte in MDX (Analysis Services)

Bevor Sie multidimensionale Ausdrücke (MDX) verwenden können, um mehrdimensionale Daten abzufragen oder MDX-Ausdrücke in einem Cube zu erstellen, hilft es, multidimensionale Konzepte und Ausdrücke zu verstehen.

Der beste Ausgangspunkt ist ein Beispiel für die Datenzusammenfassung, das Sie bereits kennen, und sehen Sie dann, wie MDX sich darauf bezieht. Hier ist eine in Excel erstellte PivotTable, die mit Daten aus einem Analysis Services-Beispielwürfel aufgefüllt wird.

PivotTable mit Kennzahlen und Dimensionen hervorgehoben

Maße und Dimensionen

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

Measures sind numerische Datenwerte, die in Zellen gefunden werden, aggregiert als Summe, Anzahl, Prozentsatz, Min., Max. oder Mittelwert. Messwerte sind dynamisch und werden in Echtzeit berechnet, in Reaktion auf die Benutzernavigation und Interaktion mit der Pivot-Tabelle. In diesem Beispiel zeigen die Zellen Verkäuferumsatzzahlen an, die je nachdem, ob Sie die Achsen expandieren oder zusammenklappen, vergrößern oder verkleinern. Für eine beliebige Kombination aus Datum (Jahr, Quartal, Monat oder Datum) und Sales Territory (Ländergruppe, Land, Region) können Sie einen Reseller Sales Amount abrufen, der für diesen bestimmten Kontext addiert wird. Andere Begriffe, die mit Maßen gleichbedeutend sind, sind Fakten (in Data Warehouses) und berechnete Felder (in tabellarischen und Excel-Datenmodellen).

Dimensionen befinden sich auf den Spalten- und Zeilenachsen einer PivotTable und stellen die Bedeutung hinter dem Maß dar. Dimensionen sind analog zu Tabellen in einem relationalen Datenmodell. Häufige Beispiele für eine Dimension sind Zeit, Geografie, Produkte, Kunden, Mitarbeiter usw. Dieses Beispiel verfügt über zwei Dimensionen, "Sales Territory" in den Zeilen und "Date" über den oberen Rand. Sie können jedoch ganz einfach andere Dimensionen ziehen und ablegen, die den Reseller Sales zugeordnet sind, z. B. Werbeaktionen oder Produkte, um die Verkaufsleistung entlang dieser Dimensionen anzuzeigen. Ihre Fähigkeit, Daten auf interessante Weise zu untersuchen, hängt von den Dimensionen ab, die Sie erstellen, und davon, ob sie mit Faktentabellen in Ihrer Datenquelle zusammenhängen.

Dimensionsattribute sind die benannten Elemente in einer Dimension, ähnlich wie Spalten in einer Tabelle. In diesem Beispiel bestehen die Dimensionattribute "Sales Territory" aus "Country Group" (Europa, Nordamerika, Pazifik), "Country" (Kanada, Vereinigte Staaten) und "Region" (Zentral, Nordosten, Nordwesten, Südosten, Südwesten).

Jedes Attribut verfügt über eine Sammlung von Datenwerten oder Elementen, die ihr zugeordnet sind. In unserem Beispiel sind Mitglieder des Attributs "Country Group" Europa, Nordamerika und Pazifik. Mitglieder beziehen sich auf die tatsächlichen Datenwerte, die zu einem Attribut gehören.

Hinweis

Ein Aspekt der Datenmodellierung besteht darin, die Muster und Beziehungen zu formalisieren, die bereits innerhalb der Daten selbst vorhanden sind. Wenn Sie mit Daten arbeiten, die in eine natürliche Hierarchie fallen, wie es bei Ländern-Regionen-Städten der Fall ist, können Sie diese Beziehung formalisieren, indem Sie eine Attributbeziehung erstellen. Eine Attributbeziehung ist eine Eins-zu-viele-Beziehung zwischen Attributen, z. B. eine Beziehung zwischen einem Bundesstaat und einer Stadt – ein Bundesstaat hat viele Städte, aber eine Stadt gehört nur zu einem Bundesstaat. Durch das Erstellen von Attributbeziehungen im Modell wird die Abfrageleistung beschleunigt, daher empfiehlt es sich, sie zu erstellen, wenn die Daten sie unterstützen. Sie können eine Attributbeziehung im Dimensions-Designer in SQL Server-Datentools erstellen. Siehe Definieren von Attributbeziehungen.

In Excel werden Modellmetadaten in der PivotTable-Feldliste angezeigt. Vergleichen Sie die oben aufgeführte PivotTable mit der feldliste unten. Beachten Sie, dass die Feldliste "Sales Territory", "Group", "Country", "Region" (Metadaten) enthält, während die PivotTable nur die Mitglieder (Datenwerte) enthält. Wenn Sie wissen, wie die Symbole aussehen, können Sie ganz einfach die Teile eines mehrdimensionalen Modells mit einer PivotTable in Excel verknüpfen.

PivotTable-Feldliste

Attributhierarchien

Fast ohne darüber nachdenken zu müssen, wissen Sie, dass Werte in einer PivotTable nach oben oder unten gehen, während Sie die Ebenen entlang jeder Achse erweitern und reduzieren, aber was macht dies so? Die Antwort liegt in Attributhierarchien.

Reduzieren Sie alle Ebenen, und beachten Sie die Gesamtsummen für jede Ländergruppe und jedes Kalenderjahr. Dieser Wert wird von etwas abgeleitet, das (Alle)-Mitglied innerhalb einer Hierarchie genannt wird. Das Element (Alle) ist der berechnete Wert aller Elemente in einer Attributhierarchie.

  • Der Gesamtbetrag (Alle) für alle Ländergruppen und Daten beträgt $80.450.596,98.

  • Der Gesamtbeitrag für alle Mitglieder im Steuerjahr 2008 beträgt 16.038.062,60 $.

  • Das (Alle) Mitglied für Pacific ist $ 1.594,335,38

Aggregationen wie diese werden vorab berechnet und im Voraus gespeichert, was Teil des geheimen Schlüssels ist, um die Leistung von Analysis Services schnell abzufragen.

PivotTable, in der alle Mitglieder hervorgehoben sind

Erweitern Sie die Hierarchie, und schließlich gelangen Sie zur niedrigsten Ebene. Dies wird als Blattelement bezeichnet. Ein Blattelement ist ein Element einer Hierarchie ohne untergeordnete Elemente. In diesem Beispiel ist Australien das Blattelement.

PivotTable mit Blattmitglied hervorgehoben

Alles darüber wird als übergeordnetes Mitglied bezeichnet. Pacific ist die Mutter australiens.

Komponenten einer Attributhierarchie

Gemeinsam bauen alle diese Konzepte auf das Konzept einer Attributhierarchie hin. Eine Attributhierarchie ist eine Struktur von Attributmembern, die die folgenden Ebenen enthalten:

  • Eine Blattebene, die jedes unterschiedliche Attributelement enthält, wobei jedes Element der Blattebene auch als Blattelement bezeichnet wird.

  • Zwischenebenen, wenn es sich bei der Attributhierarchie um eine Parent-Child-Hierarchie handelt (mehr dazu später).

  • Ein (Alle) Element, das den aggregierten Wert aller untergeordneten Attribute enthält. Optionalerweise können Sie die Ebene (Alle) ausblenden oder deaktivieren, wenn sie für die Daten keinen Sinn ergibt. Obwohl der Produktcode numerisch ist, wäre es nicht sinnvoll, alle Produktcodes zu summieren, zu mitteln oder anderweitig zu aggregieren.

Hinweis

BI-Entwickler legen häufig Eigenschaften für die Attributhierarchie fest, um bestimmte Verhaltensweisen in Clientanwendungen zu erzielen oder bestimmte Leistungsvorteile zu erzielen. Beispielsweise würden Sie "AttributeHierarchyEnabled=False" für Attribute festlegen, für die das Element (Alle) nicht sinnvoll ist. Alternativ möchten Sie vielleicht einfach das Element (Alle) ausblenden, in diesem Fall würden Sie "AttributeHierarchyVisible=False" festlegen. Weitere Informationen zu Eigenschaften finden Sie im Dimension-Attributeigenschaften-Referenz-Abschnitt.

Innerhalb der PivotTable (zumindest in diesem Beispiel) erweitern sich Zeilen- und Spaltenachsen, um niedrigere Attributeebenen anzuzeigen. Eine erweiterbare Baumstruktur wird durch Navigationsstrukturen erreicht, die Sie in einem Modell erstellen. Im AdventureWorks-Beispielmodell verfügt die Dimension "Vertriebsgebiet" über eine Hierarchie mit mehreren Ebenen, die mit einer Ländergruppe beginnt, gefolgt von "Land", gefolgt von "Region".

Wie Sie sehen können, werden Hierarchien verwendet, um einen Navigationspfad in einer PivotTable oder anderen Datenzusammenfassungsobjekten bereitzustellen. Es gibt zwei grundlegende Typen: ausgeglichen und unausgewogen.

Ausgewogene Hierarchien

PivotTable mit ausgewogener Hierarchie hervorgehoben Eine ausgewogene Hierarchie ist eine Hierarchie, in der die gleiche Anzahl von Ebenen zwischen der obersten Ebene und einem beliebigen Blattelement vorhanden ist.

Eine natürliche Hierarchie ist eine, die natürlich aus den zugrunde liegenden Daten entsteht. Ein gängiges Beispiel ist "Land-Region-State" oder "Jahr-Month-Date" oder "Kategorie-Subkategorie-Modell", bei dem jede untergeordnete Ebene vorhersagbar vom übergeordneten Level abgeleitet wird.

In einem mehrdimensionalen Modell sind die meisten Hierarchien ausgewogene Hierarchien, und viele davon sind auch natürliche Hierarchien.

Ein weiterer verwandter Modellierungsausdruck ist ein user-defined hierarchy, häufig als Kontrast zu Attributhierarchien verwendet. Dies bedeutet einfach eine vom BI-Entwickler erstellte Hierarchie im Gegensatz zu Attributhierarchien, die automatisch von Analysis Services generiert werden, wenn Sie ein Attribut definieren.

Unausgewogene Hierarchien

PivotTable mit hervorgehobener gezackter Hierarchie Eine ausgefranste Hierarchie oder unausgeglichene Hierarchie ist eine Hierarchie, in der verschiedene Anzahlen von Stufen zwischen der obersten Ebene und den Blattmitgliedern vorhanden sind. Auch hier handelt es sich um eine Vom BI-Entwickler erstellte Hierarchie, in diesem Fall gibt es jedoch Lücken in den Daten.

Im AdventureWorks-Beispielmodell veranschaulicht Sales Territory eine lückenhafte Hierarchie, weil die Vereinigten Staaten eine zusätzliche Ebene (Regionen) haben, die für die anderen Länder in diesem Beispiel nicht existiert.

Ragged Hierarchien sind eine Herausforderung für BI-Entwickler, wenn die Clientanwendung unvollständige Hierarchien nicht auf elegante Weise behandelt. Im Analysis Services-Modell können Sie eine Eltern-Kind-Hierarchie erstellen, die explizit eine Beziehung zwischen mehrstufigen Daten definiert und jede Mehrdeutigkeit darüber, wie eine Ebene zur nächsten in Beziehung steht, eliminiert. Ausführliche Informationen finden Sie unterParent-Child Hierarchie .

Schlüsselattribute

Modelle sind eine Auflistung verwandter Objekte, die auf Schlüsseln und Indizes basieren, um die Zuordnungen zu erstellen. Analysis Services-Modelle unterscheiden sich nicht. Für jede Dimension (denke daran, dass sie einer Tabelle in einem relationalen Modell entspricht), gibt es ein Schlüsselattribut. Das Schlüsselattribut wird in Fremdschlüsselbeziehungen zur Faktentabelle (Messgruppe) verwendet. Alle Nicht-Schlüsselattribute in der Dimension werden (direkt oder indirekt) mit dem Schlüsselattribute verknüpft.

Häufig, aber nicht immer, ist das Schlüsselattribute auch das Granularity-Attribut. Granularität bezieht sich auf die Detail- oder Genauigkeitsebene innerhalb der Daten. Auch hier bietet ein gängiges Beispiel den schnellsten Weg zum Verständnis. Berücksichtigen Sie Datumswerte: Für den täglichen Umsatz benötigen Sie Datumswerte, die auf den Tag festgelegt sind; für Quoten sind quartalsweise Angaben ausreichend. Wenn Ihre Analysedaten jedoch aus Rennergebnissen eines Sportereignisses bestehen, muss die Granularität möglicherweise sehr fein sein und in Millisekunden angegeben werden. Die Genauigkeitsstufe ihrer Datenwerte ist das Korn.

Währung ist ein weiteres Beispiel: Eine Finanzanwendung kann Geldwerte an viele Dezimalstellen nachverfolgen, während der Geldgeber Ihrer lokalen Schule möglicherweise nur Werte für den nächstgelegenen Dollar benötigt. Das Verständnis von Getreide ist wichtig, da Sie vermeiden möchten, unnötige Daten zu speichern. Das Kürzen von Millisekunden aus einem Zeitstempel oder Pennies aus einem Umsatzbetrag kann Speicher- und Verarbeitungszeit sparen, wenn diese Detailebene für Ihre Analyse nicht relevant ist.

Verwenden Sie zum Festlegen des Granularitätsattributs die Registerkarte "Dimension Usage" im Cube-Designer in SQL Server Data Tools. Im AdventureWorks-Beispielmodell ist das Schlüsselattribut der Datumsdimension der Datumsschlüssel. Bei Verkaufsaufträgen ist das Granularitätsattribut gleichwertig mit dem Schlüsselattribut. Bei Vertriebszielen ist die Granularitätsstufe vierteljährlich und daher wird das Granularitätsattribut auf "Kalenderquartal" festgelegt.

Modell mit dem Granularitätsattribut

Hinweis

Wenn das Granularitäts-Attribut und das Schlüssel-Attribut unterschiedlich sind, müssen alle Nichtschlüsselattribute direkt oder indirekt mit dem Granularitäts-Attribut verknüpft werden. Innerhalb eines Cubes definiert das Granularitätsattribut die Granularität einer Dimension.

Abfragebereich (Würfelraum)

Der Bereich einer Abfrage bezieht sich auf die Grenzen, innerhalb der Daten ausgewählt werden. Er kann vom gesamten Cube (ein Cube ist das größte Abfrageobjekt) bis zu einer Zelle reichen.

Cubebereich ist das Produkt der Mitglieder der Attributhierarchien eines Cubes mit den Maßen des Cubes.

Untercube ist eine Teilmenge eines Cubes, der eine gefilterte Ansicht des Cubes darstellt. Subcubes können mit einer Scope-Anweisung im MDX-Berechnungsskript oder in einer Subselect-Klausel in einer MDX-Abfrage oder als Sitzungswürfel definiert werden.

Zelle bezieht sich auf den Abstand an der Schnittmenge eines Elements des Dimensionselements "Measures" und eines Elements aus jeder Attributhierarchie in einem Cube.

Andere Modellierungsbedingungen

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

Berechnetes Element ist ein Dimensionselement, das zur Abfragezeit definiert und berechnet wird. Ein berechnetes Element kann in einer Benutzerabfrage oder im MDX-Berechnungsskript definiert und auf dem Server gespeichert werden. Ein berechnetes Element entspricht Zeilen in der Dimensionstabelle der Dimension, in der sie definiert ist.

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

Messgruppen sind eine Sammlung von einem oder mehreren Messwerten. Meistens sind diese benutzerdefinierten Elemente, und Sie verwenden sie, um verwandte Maßnahmen zusammenzuhalten. Eindeutige Zählungen stellen eine Ausnahme dar. Diese werden immer in einer eigenen Messgruppe platziert, die nur das eindeutige Maß enthält. Die Measure-Gruppe wird in der PivotTable-Beispieldarstellung nicht angezeigt, aber sie erscheint in einer PivotTable-Feldliste als benannte Auflistung von Measures.

Measures dimension is the dimension that contains all of the measures in a cube. Es wird nicht in einem mehrdimensionalen Modell verfügbar gemacht, das Sie in SQL Server Data Tools erstellen, aber es ist genauso vorhanden. Da sie Messwerte enthält, werden alle Elemente einer Messwertdimension in der Regel aggregiert, meist durch Summierung oder Zählung.

Datenbankabmessungen und Cubedimensionen. Innerhalb eines Modells können Sie eigenständige Dimensionen definieren, die dann in einer beliebigen Anzahl von Cubes im selben Modell enthalten sind. Wenn Sie einem Cube eine Dimension hinzufügen, wird sie als Cubedimension bezeichnet. Selbst innerhalb eines Projekts wird es als eigenständiges Element im Objekt-Explorer als Datenbankdimension bezeichnet. Warum die Unterscheidung? Da Sie Eigenschaften unabhängig voneinander festlegen können. In der Produktdokumentation werden beide Begriffe verwendet, daher lohnt es sich zu verstehen, was sie bedeuten.

Nächste Schritte

Nachdem Sie nun wichtige Konzepte und Terminologie verstanden haben, können Sie mit diesen zusätzlichen Themen fortfahren, die grundlegende Konzepte in Analysis Services weiter erläutern:

Siehe auch

Cubebereich
Tupel
Automatisches Vorhandensein
Arbeiten mit Elementen, Tupeln und Sets (MDX)
Visuelle Summen und nicht visuelle Summen
MDX Query Fundamentals (Analysis Services)
MDX Scripting Fundamentals (Analysis Services)
MDX-Sprachreferenz (MDX)
Referenz zu mehrdimensionalen Ausdrücken (MDX)