MDX-Tutorial #2: Eine kleine Einführunng in den Beispielcube „AdventureWorks“
Zweiter Teil der MDX-Einführung. Besprochene Themen: Aufbau von AdventureWorks, welche Dimensionen wir verwenden, deutsche Übersetzungen.
Willkommen zum zweiten Teil der MDX-Einführung
Im vorherigen Teil des MDX-Tutorials sind wir mit einigen grundlegenden Begriffen gestartet und haben das Unternehmen Fahrrad.9000 kennen gelernt. Bevor wir uns im nächsten Teil an die erste MDX-Abfrage wagen, möchte ich noch kurz den AdventureWorks Cube von Microsoft vorstellen.
Wozu ein Beispiel-Cube?
Jeder Cube sieht anders aus. Während der Entwicklungsphase entwerfen die Architekten des Cubes die Dimensionen und Kennzahlen eben so, dass diese genau zum eigenen Unternehmen passen. Die Dimensionen werden nach den wichtigsten Geschäftsinteressen modelliert mit denen das Unternehmen zu tun hat. Das sind für Fahrrad.9000 unter anderem die Kunden, Produkte, Vertriebspartner und die Zeit. Für ein Krankenhaus hingegen kommen völlig andere Dimensionen in Frage, möglicherweise die Patienten, die Befunde und die Stationen.
Damit jeder die Quellcodes der MDX-Einführung auch selbst ausprobieren kann, verwende ich den AdventureWorks Cube. Microsoft stellt diesen Test-Cube kostenlos zur Verfügung. Falls AdventureWorks noch nicht bei dir installiert ist oder du auf nicht darauf zugreifen kannst, ist dein freundlicher Systemadministrator sicher bereit, den Cube als Spielplatz einzurichten und freizugeben.
Erstkontakt
Nach dem Verbindungsaufbau zum AdventureWorks Cube werden die Dimensionen und Kennzahlen aufgelistet. Im SQL Server Management Studio sieht das so aus:
Die Dimensionen sind mit dem Symbol gekennzeichnet. Schauen wir sie uns etwas genauer an. Das Unternehmen, das diesen Cube verwendet, hat sich dazu entschieden, ihre Kunden als eine eigene Dimension umzusetzen. Darüber hinaus gibt es Produkte und Vertriebspartner. Offensichtlich handelt es sich um eine Firma, die etwas herstellt.
In der Dimension „Produkt“ verbergen sich die folgenden Attribute:
Dieser Cube gibt uns also die Möglichkeit, Produkte beispielsweise nach ihrer Kategorie auszuswählen, nach ihrer Farbe, oder nach ihrem Namen. Wie schon im letzten Teil angesprochen, können all diese Attribute bei MDX-Abfragen verwendet werden, um den Untersuchungsgegenstand festzulegen.
In dieser Ansicht lassen sich die Dimensionen bis hin zu den Elementen ihrer Attribute durchsehen. Das Attribt „Kategorie“ besitzt zum Beispiel die Ausprägungen „Fahrräder“, „Kleidung“, „Ausstattung“ und „Zubehör“:
So ein Zufall. Das scheint auch ein Fahrradhersteller zu sein. Warum nennen wir ihn nicht einfach Fahrrad.9000?
Die Hierarchie „Kategorien“
Wie wir schon gesehen haben, sortiert Fahrrad.9000 seine Produkte nicht nur in Kategorien, sondern außerdem in Unterkategorien. Da eine Unterkategorie immer einer bestimmten Kategorie zugeordnet ist, lassen sich diese Attribute in einer Hierarchie anordnen:
Die Symbole vor den Hierarchieebenen geben Aufschluss über die Tiefe der jeweiligen Ebene. Mit dem Symbol ist die oberste Hierarchieebene gekennzeichnet. Das ist die gröbste Einteilung, in der es die wenigsten Ausprägungen gibt, im Beispiel die Hauptkategorie mit nur vier Elementen. Die nächsten Hierarchieebenen werden dann immer feiner und enthalten immer mehr Elemente, in diesem Fall bis hin zu den einelnen Produkten.
Zu Begin verwirrt es etwas, dass die Hierarchie-Ebenen doppelt auftauchen, nämlich einmal innerhalb der Hierarchien selbst und zusätzlich als Attribut. Beispielsweise gibt es die Attribute „Kategorie“, „Unterkategorie“ und „Produkt“ sowohl in der Dimension „Produkt“, als auch als Ebenen in der Hierarchie „Produktkategorien“. Beide Varianten zeigen aber auf die gleichen Objekte. Das bedeutet, in den MDX-Abfragen können beide Duplikate synonym verwendet werden. Allerdings gibt es einige fortgeschrittene Funktionen, die nur in Hierarchien verwendet werden können und sich die Beziehungen zwischen den Ebenen zu Nutze machen.
Die Kennzahlen von AdventureWorks
Im SQL Server Management Studio sind die Kennzahlen über den Dimensionen aufgeführt.
Fahrrad.9000 setzt auf ungefähr 30 verschiedene Kennzahlen und hat diese für eine bessere Übersicht in Ordner sortiert:
Im Ordner „Reseller Sales“ (deutsch: Verkäufe über Vertriebspartner) versammeln sich die für den Vertrieb üblichen Verdächtigen „Umsatz“, „Verkaufte Einheiten“, „Rabatte“ und so fort – und zwar eingeschränkt auf Verkäufe durch Wiederverkäufer, also über die Ladentheke:
Im Gegensatz dazu gibt es die exakt gleichen Kennzahlen noch einmal im Ordner „Internet Sales“, dort aber eben für alle Aufträge, die wir ohne Mittelsmann über das Internet abwickeln.
Hier wurde bei der Konstruktion des Cubes eine interessante Entscheidung getroffen. Denn anstatt diese Online-Offline-Unterteilung durch zwei verschiedene Kennzahlen zu lösen, hätte es auch stattdessen eine zusätzliche Dimension mit dem Attribut „Auftragsherkunft“ geben können. Mit den zwei Elementen „Webshop“ und „Vertriebspartner“ hätte es genügt, jede Kennzahl nur einmal zu definieren und diese mit Hilfe der zusätzlichen Dimension auf die gewünschten Aufträge einzuschränken.
Keine Lösung ist zwingend besser als die andere – die MDX-Abfrage schreibt sich nur unterschiedlich. Vielleicht wusste Fahrrad.9000 schon früh, dass es sehr viele Analysen geben wird, die eine Unterscheidung in On/Offline nötig machen, und hat sich deswegen für eine möglichst anwenderfreundliche Lösung entschieden.
Ende des zweiten Teils
Der AdventureWorks Cube bietet noch eine ganze Menge mehr Möglichkeiten zum Ausprobieren. Für unsere MDX-Einführung sollen die oben vorgestellten Dimensionen und Kennzahlen aber ausreichen. Hinzu kommen nur noch die Dimensionen „Geographie“ und „Datum“:
Mit Hilfe der Dimension „Geographie“ kann beispielsweise der Umsatz pro Bundesland abgefragt werden. Die Dimension „Datum“ erlaubt unter anderem das Einschränken der Kennzahlen auf ausgewählte Kalenderjahre.
Im nächsten Teil geht es endlich los. Ich fürchte, die erste MDX-Abfrage lauert schon! Bis dahin bedanke ich mich für die Aufmerksamkeit und verabschiede mich bis zur nächsten Woche. Wie immer gilt: Bei Fragen oder Verbesserungsvorschlägen freue ich mich über eine E-Mail oder einen Komentar am Ende der Seite.
13. September 2015 @ 2:10
super
26. Oktober 2018 @ 21:21
Titan Gel Wie ich meinen Penis um 3,5cm vergrößert und meine Erektion in 5 Tagen stärker gemacht habe http://titangelgermany.com/ Es ist komplett unschädlich für eure Gesundheit. Das ist wirklich wichtig. Hört schon mit dem Kichern auf:)