Kapitel 3 Einen Cube erstellen In diesem Kapitel: Überblick über Business Intelligence Development Studio . . . . . . . . . . . . 48 Vorbereitung der Cubeerstellung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 Einen Cube erstellen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 Ein Schema generieren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 Einen Cube verarbeiten und durchsuchen . . . . . . . . . . . . . . . . . . . . . . . . . . 74 Schnellübersicht . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 In diesem Kapitel lernen Sie, wie Sie 쐽 ein Analysis Services-Projekt in Microsoft Visual Studio öffnen und bearbeiten. 쐽 mit dem Cube-Assistenten einen einfachen Cube aus einer Vorlage erstellen. 쐽 mit dem Schemagenerierungs-Assistenten ein relationales Schema als Daten- quelle für den Cube anlegen. 쐽 ein Analysis Services-Projekt auf einem Analysis-Server bereitstellen und verar- beiten. 쐽 einen Cube durchsuchen. In Kapitel 2 »Einführung in OLAP und Analysis Services« wurden die Schlüsselkomponenten eines Analysis Services-Cubes und die Rolle eines Cubes in einer BILösung beschrieben. Jetzt verfügen Sie über die Grundkenntnisse, um lernen zu können, wie ein Cube mithilfe der in Microsoft Visual Studio verfügbaren BI-Vorlagen erstellt wird. In diesem Kapitel machen Sie sich mit der Objektstruktur in dieser integrierten Entwicklungsumgebung vertraut. Die beste Lernmethode besteht darin, ein vorhandenes Projekt zu untersuchen. Als Nächstes lernen Sie den Top-down-Ansatz zur Entwicklung eines Cubes einzusetzen. Das heißt, Sie entwerfen zuerst den Cube und dann erstellen und laden Sie die Datenquelle. (In Kapitel 4 »Dimensionen entwerfen« und Kapitel 5 »Measuregruppen und Measures entwerfen« erfahren Sie, wie Cubes unter Verwendung des Bottom-up-Ansatzes entwickelt werden.) Jacobson, Misner, Consulting, Microsoft SQL Server 2005 Analysis Services, © 2006 Microsoft Press Deutschland, ISBN 3-86645-560-7 48 Teil A: Einführung in Analysis Services Nachdem Sie den Cube entworfen haben, benutzen Sie die Struktur des Cubes zum Aufbau einer relationalen Datenbank (ein so genanntes Sternschema), die die Cubedaten aufnehmen soll. Sobald Sie Daten in die relationale Datenbank und daraufhin in den Cube geladen haben, werden Sie erkennen können, dass der Cube durch das Zusammenwirken von Attributen, Dimensionen, Measures und Measuregruppen ein mächtiges Analysewerkzeug darstellt. Überblick über Business Intelligence Development Studio Zur Entwicklung von BI-Lösungen für SQL Server 2005 verwenden Sie spezielle Designer, die in Microsoft Visual Studio 2005 integriert sind. Wenn Sie bereits mit einer neueren Version von Visual Studio Anwendungen entwickelt haben, sind Sie mit der Entwicklungsumgebung schon vertraut. In Visual Studio können Sie Ihre Entwicklungsarbeit in Projekten zusammenfassen. Dies ist hilfreich, weil hier mehrere Entwickler an einem Cubeprojekt arbeiten und mit Microsoft Visual Source Safe oder Microsoft Team Foundation Sicherungskopien sämtlicher Projektdateien gespeichert werden können. Wenn Sie noch nie mit Visual Studio gearbeitet haben, machen Sie mit einigen neuen Fenstern und Symbolleisten Bekanntschaft. Viele Tools dieser Entwicklungsumgebung vereinfachen die Erstellung einer BI-Anwendung. Einige Tools sind jedoch nicht für BIProjekte vorgesehen. Sie können diese Tools einfach ignorieren. Wenn Sie Visual Studio als Bestandteil von SQL Server 2005 erwerben, enthält es nur die Business Intelligence-Designer. Wenn Sie andere Visual Studio-Tools kaufen, z.B. Visual Basic 2005 .NET oder Visual C# 2005 .NET, werden diese Designtools in die gleiche Umgebung integriert. In der Visual Studio-Umgebung sind die Business Intelligence-Designer in einer Gruppe zusammengefasst. Der Bequemlichkeit halber nennen wir die Business Intelligence-Designer von Visual Studio hier einfach Business Intelligence Development Studio (BIDS). In der BIDS-Umgebung können Sie Analysis Services-Projekte erstellen, die Daten für anspruchsvolle und schnelle Analysen strukturieren. Sie können Integration ServicesPakete entwickeln, die die in Analysis Services-Projekten verwendeten Daten vorbereiten und laden, und Reporting Services-Berichte erstellen, in denen die Analyseergebnisse dargestellt werden. Wenn Sie auch andere Entwicklungstools besitzen, können Sie C# .NET- oder ASP.NET-Anwendungen in die gleiche Projektmappe wie das BI-Projekt einfügen. Dieses Buch konzentriert sich auf die Analysis Services, es sind jedoch viele andere Ressourcen verfügbar, die Ihnen helfen, sämtliche Vorteile Ihrer Visual StudioTools zu nutzen. Wenn ein mit BIDS entwickeltes Analysis Services-Projekt auf einem Analysis-Server bereitgestellt wird, wird aus dem Projekt eine Datenbank. Sie können in BIDS auch ein Analysis Services-Projekt erstellen, um den Entwurf einer vorhandenen Analysis Services-Datenbank zu ändern. Zur Ausführung allgemeiner Wartungsaufgaben an einer Produktionsdatenbank, z.B. zur Verarbeitung eines Datenbankobjekts, benutzen Sie stattdessen SQL Server Management Studio (SSMS). Sie lernen SSMS in Kapitel 13 »Die Bereitstellung verwalten« kennen. Jacobson, Misner, Consulting, Microsoft SQL Server 2005 Analysis Services, © 2006 Microsoft Press Deutschland, ISBN 3-86645-560-7 Kapitel 3: Einen Cube erstellen 49 Den Inhalt eines Analysis Services-Projekts untersuchen Wenn Sie BIDS zum ersten Mal nach der Installation öffnen, wird die Startseite im Hauptfenster angezeigt. Diese Seite enthält eine Liste der zuletzt geöffneten Projekte, Verknüpfungen zu Erste Schritte und Visual Studio-Headlines sowie Verknüpfungen zu aktuellen MSDN-Artikeln: Visual Studio 2005. Wenn Sie diese Anwendung zum ersten Mal verwenden, ist der Bereich Zuletzt geöffnete Projekte leer. Sobald Sie Projekte erstellt haben, enthält dieser Bereich Verknüpfungen zu diesen Projekten, so dass dieser Bereich ein nützliches Werkzeug zum Suchen und Öffnen zuletzt bearbeiteter Projekte darstellt. Wenn Sie bislang weder mit BIDS noch mit Visual Studio gearbeitet haben, sind Sie möglicherweise nicht mit der Art und Weise vertraut, wie die Elemente dieser Umgebung strukturiert sind. Eine Projektmappe ist ein Behälter für eines oder mehrere Projekte. Sie betrachten den Inhalt einer Projektmappe im Fenster Projektmappen-Explorer, das standardmäßig in der oberen rechten Fensterecke der Entwicklungsumgebung angezeigt wird. Wenn der Projektmappen-Explorer nicht angezeigt wird, können Sie in der Symbolleiste auf die Schaltfläche Projektmappen-Explorer klicken oder im Menü Ansicht den Befehl Projektmappen-Explorer wählen. Beispielsweise könnte eine Projektmappe mehrere Analysis Services-Projekte enthalten oder sie könnte eines oder mehrere Analysis Services-, Integration Services-, Berichtsmodell- oder Reporting Services-Projekte beinhalten. Jedes Projekt ist wiederum ein Container für eine oder mehrere Auflistungen von Objekten. Diese Objekte werden in Ordnern zusammengefasst, wie z.B. Datenquellensichten, Cubes oder Dimensionen. Zu einem gegebenen Zeitpunkt kann immer nur eine Projektmappe bearbeitet werden, aber Sie können auf jedes Objekt der in der Projektmappe enthaltenen Projekte zugreifen, solange die Projektmappe in Visual Studio geöffnet ist. Wenn Sie ein neues Analysis Services-Projekt erstellen oder ein vorhandenes Projekt dieses Typs öffnen, wird im Projektmappen-Explorer eine Reihe von Ordnern angezeigt: Datenquellen, Datenquellensichten, Cubes, Dimensionen, Miningstrukturen, Rollen, Assemblys und Sonstiges. Während des Entwurfs einer analytischen Lösung fügen Sie diesen Ordnern die erforderlichen Objekte hinzu, wobei Sie in der Regel mit Datenquellen beginnen, mit Datenquellensichten fortfahren und anschließend Dimensionen und Cubes erstellen. Wenn Sie eine Lösung ohne Datenquelle erstellen, können Sie einen Assistenten starten, der durch die erforderlichen Schritte führt. Dieser Ansatz eignet sich für die Entwicklung einer prototypischen Lösung, bevor ein Data Warehouse verfügbar ist. Im folgenden Abschnitt erkunden Sie die Benutzeroberfläche von Visual Studio, indem Sie die fertige Version des Analysis Services-Projekts öffnen, das Sie während der Bearbeitung der einzelnen Kapitel dieses Buches erstellen. Die Projektmappe SSAS Schritt für Schritt öffnen 1. Starten Sie SQL Server Business Intelligence Development Studio. Ihr Bildschirm sollte etwa wie in Abbildung 3.1 aussehen. Jacobson, Misner, Consulting, Microsoft SQL Server 2005 Analysis Services, © 2006 Microsoft Press Deutschland, ISBN 3-86645-560-7 50 Teil A: Einführung in Analysis Services Abbildung 3.1 Visual Studio wurde zum ersten Mal gestartet Hinweis Sie können die Schritte dieser Übung nur ausführen, wenn Sie die Übungsdateien wie in der Einführung beschrieben installiert und Ihren Computer für die Verwendung dieser Dateien eingerichtet haben. 2. Zeigen Sie im Menü Datei auf Öffnen und klicken Sie dann auf Projekt/Projektmappe. 3. Suchen und öffnen Sie den Ordner C:\Dokumente und Einstellungen\<Benutzername>\Eigene Dateien\Microsoft Press\AS2005SfS\Kap03\Schritt für Schritt, wobei <Benutzername> für Ihren Anmeldenamen auf dem Computer steht. 4. Wählen Sie die Datei SSAS Schritt für Schritt.sln aus und klicken Sie dann auf Öffnen. Die Beispielprojektmappe sieht wie in Abbildung 3.2 gezeigt aus. Diese Beispielprojektmappe enthält viele Beispiele zur Veranschaulichung der neuen Features, die in dieser neuen Version von Analysis Services verfügbar sind. Beachten Sie die Ordner im Projektmappen-Explorer. Jeder Ordner enthält einen bestimmten Objekttyp, der in einer Analysis Services-Datenbank verwendet wird. Jacobson, Misner, Consulting, Microsoft SQL Server 2005 Analysis Services, © 2006 Microsoft Press Deutschland, ISBN 3-86645-560-7 Kapitel 3: Einen Cube erstellen 51 Abbildung 3.2 Die Projektmappe SSAS Schritt für Schritt wurde geöffnet 5. Doppelklicken Sie im Projektmappen-Explorer im Ordner Datenquellen auf SSAS Step by Step DW.ds. Der Datenquellen-Designer enthält die Verbindungszeichenfolge und Anmeldeinformationen, die zum Abruf von Daten aus einer relationalen Datenbank verwendet werden. Eine Projektmappe kann mehrere Datenquellen enthalten. Im Ordner Datenquellen wird eine Liste der verbundenen relationalen Datenbanken gespeichert. Eine Analysis Services-Datenbank muss mindestens eine Datenquelle enthalten. 6. Klicken Sie auf Abbrechen und doppelklicken Sie dann im Ordner Datenquellensichten auf SSAS Step by Step DW.dsv. Eine Analysis Services-Datenbank muss auch mindestens eine Datenquellensicht (Data Source View, DSV) im Ordner Datenquellensicht enthalten. Eine DSV-Datei enthält die logische Darstellung von Tabellen aus einer oder mehreren Datenquellen. In einer Datenquellensicht können Sie einen logischen Primärschlüssel jeder Tabelle oder Ansicht hinzufügen, die keinen physischen Primärschlüssel besitzt. Sie definieren Beziehungen zwischen Tabellen, auch für Tabellen, die aus verschiedenen Datenquellen stammen. Sie können auch berechnete Spalten oder logische Ansichten (so genannte Abfragen) erstellen, ohne Änderungen an den Quelldatenbanken vorzunehmen. 7. Doppelklicken Sie im Ordner Dimensionen auf Product.dim. Ein Analysis Services-Projekt enthält mindestens eine Dimension und mindestens einen Cube. Für diese Objekte gibt es jeweils einen eigenen Ordner. Der Jacobson, Misner, Consulting, Microsoft SQL Server 2005 Analysis Services, © 2006 Microsoft Press Deutschland, ISBN 3-86645-560-7 52 Teil A: Einführung in Analysis Services Ordner Miningstrukturen wird für die Data Mining-Funktion verwendet, die in SQL Server 2005 Analysis Services enthalten ist. Der Ordner Rollen dient der Unterstützung von Client- und Verwaltungssicherheit. Sie können den Ordner Assemblys für Klassenbibliotheken verwenden, die Sie zur Erweiterung der Funktionalität von Projekten entwickeln. Der Ordner Sonstiges ist für projektbezogene Dateien vorgesehen, wie z.B. Dokumentation oder Notizen zu noch zu erledigenden Aufgaben. Meist werden Sie jedoch mit Datenquellensichten, Cubes oder Dimensionen bearbeiten. Menübefehle erkunden Die Entwicklungsumgebung enthält die Standardmenüs von Visual Studio, z.B. Datei, Bearbeiten, Ansicht, Projekt, Erstellen, Debuggen usw. Das Menü Projekt ist kontextbezogen, d.h. welche Befehle im Menü angezeigt werden, ist vom Projekttyp abhängig, zu dem das im Projektmappen-Explorer ausgewählte Objekt gehört. Einige der anderen Visual Studio-Befehle sind für ein Analysis Services-Projekt u.U. nicht relevant. Wie bei anderen Microsoft-Anwendungen können Sie jederzeit konfigurieren, welche Symbolleisten auf dem Bildschirm sichtbar sind. Neben den Standardmenüs wird das Menü Dimension oder Cube in der Menüleiste angezeigt, wenn im Projektmappen-Explorer eine Dimension bzw. ein Cube ausgewählt wird. Auch dieses Menü ist kontextbezogen. Weil für verschiedene Objekte verschiedene Menüs verfügbar sind, können Sie nicht wie bei den meisten anderen WindowsAnwendungen einfach alle Menüs in der Menüleiste in der Hoffnung durchsuchen, den gewünschten Befehl zu finden. Stattdessen müssen Sie überlegen, auf welches Objekt sich der gewünschte Befehl bezieht, dieses Objekt auswählen und dann den Befehl in der Menü- oder Symbolleiste suchen. Sie lernen die Menüs und Optionen von Visual Studio am besten kennen, wenn Sie sie erkunden. Und genau das tun Sie in der nächsten Übung. Menübefehle erkunden 1. Klicken Sie im Projektmappen-Explorer auf das Objekt SSAS.cube. In der Menüleiste von Visual Studio wird jetzt das Menü Cube angezeigt. 2. Sehen Sie sich an, welche Befehle im Menü Cube verfügbar sind, und klicken Sie dann im Projektmappen-Explorer mit der rechten Maustaste auf das Objekt SSAS.cube. Das Kontextmenü enthält weitere Befehle, damit Sie den Cube im Projektmappen-Explorer ausschneiden, kopieren, löschen oder umbenennen sowie auf die betreffenden Eigenschaften zugreifen können. 3. Doppelklicken Sie im Projektmappen-Explorer auf das Objekt SSAS.cube, um den Cube-Designer zu öffnen. Der Cube-Designer sieht wie in Abbildung 3.3 aus. Jacobson, Misner, Consulting, Microsoft SQL Server 2005 Analysis Services, © 2006 Microsoft Press Deutschland, ISBN 3-86645-560-7 Kapitel 3: Einen Cube erstellen 53 Abbildung 3.3 Der Cube SSAS im Cube-Designer 4. Überprüfen Sie, welche Befehle jetzt im Menü Cube verfügbar sind. Das Menü Cube enthält nun auf den Cube-Designer bezogene Befehle. Neben einigen dieser Befehle werden Symbole angezeigt, die auch in der Symbolleiste des Cube-Designers enthalten sind. 5. Klicken Sie im Cube-Designer auf die Registerkarte Berechnungen und vergleichen Sie dann die im Menü Cube enthaltenen Befehle mit der Symbolleiste. Welche Befehle im Menü und der Symbolleiste angezeigt werden, hängt vom aktuellen Designer-Fenster ab. 6. Klicken Sie im Skriptplaner auf ein Element, um sich das Kontextmenü für diesen Bereich des Designers anzusehen. Bei der Liste der Befehle, die im Skriptplaner verfügbar sind, handelt es sich um eine Teilmenge der Befehle, auf die Sie über das Menü oder die Symbolleiste zugreifen können. 7. Klicken Sie im Menü Datei auf Projekt schließen. Nachdem Sie jetzt wissen, wie Sie Elemente in Visual Studio auswählen, können Sie selbst ein Projekt erstellen und auf diese Weise die Fähigkeiten von Analysis Services weiter erkunden. Jacobson, Misner, Consulting, Microsoft SQL Server 2005 Analysis Services, © 2006 Microsoft Press Deutschland, ISBN 3-86645-560-7 54 Teil A: Einführung in Analysis Services Vorbereitung der Cubeerstellung In diesem Abschnitt erstellen Sie einen Cube, der nicht auf einer vorhandenen Datenquelle basiert. Sie sind daher völlig frei in der Wahl des Cubetyps, den Sie als Grundlage für die Berichtserstellung erstellen möchten. Um die Bearbeitung zu vereinfachen, verwenden Sie eine Standardvorlage, die im Cube-Assistenten von Analysis Services zur Verfügung gestellt wird. Cubes können mithilfe eines Assistenten äußerst schnell erstellt werden. Bevor Sie damit beginnen, müssen Sie jedoch einige Vorbereitungen treffen. Die Analyseanforderungen überprüfen Manchmal kann es sinnvoll sein, das Cubedesign auszuarbeiten, bevor die relationale Datenbank erstellt wird, aus der Daten für den Cube geladen werden. Sie werden diesen Ansatz bei der Erstellung eines Cubes weiter hinten in diesem Kapitel verfolgen. Sie werden erst nach dem Entwurf des Cubes eine relationale Datenbankstruktur für den Cube erstellen. Sobald Sie die Projektanforderungen kennen, können Sie den Cube richtig aufbauen. Sie können den Cube erstellen, Analysis Services eine leere Quelldatenbank anlegen lassen, die geeigneten Daten aus der relationalen Datenbank SSAS Step by Step DW importieren und schließlich den Cube verarbeiten, damit Sie die Ergebnisse der Cubeverarbeitung überprüfen können. Das Analyseziel des ersten Projekts besteht darin, Benutzer in die Lage zu versetzen, die Umsätze und die verkauften Stückzahlen nach Produkt und Zeitraum zu analysieren. Für den Cube sind zwei Measures erforderlich, nämlich der Umsatzbetrag und die Verkaufte Stückzahl. Wie Sie in Kapitel 1 »Einführung in Business Intelligence und Data Warehousing« gelernt haben, ist ein Measure ein numerischer Wert, der im Cube zusammengefasst wird. Sie brauchen auch zwei Dimensionen: Produkt (Product) und Zeit (Time). In Kapitel 1 haben Sie erfahren, dass eine Dimension aus Attributen zur Gruppierung der Measurewerte besteht. Die von Ihnen erstellte Dimension Product wird Standardattribute enthalten, die in der Assistentenvorlage definiert sind. Die Dimension Time sollte sowohl kalendarische als auch fiskalische Daten unterstützen (wozu die Attribute Datum, Monat, Quartal und Jahr gehören) und in den entsprechenden Hierarchien richtig einordnen. Ein neues Analysis Services-Projekt anlegen Bevor Sie in Visual Studio einen Cube erstellen können, müssen Sie ein Analysis Services-Projekt anlegen, in dem der Cube gespeichert wird. Ein Analysis Services-Projekt kann mehrere Cubes enthalten; ein Cube kann jedoch nicht unabhängig von einem Projekt vorhanden sein. Bei der Bereitstellung des Projekts wird auf dem Analysis-Server eine Datenbank für das Projekt erstellt. In der folgenden Übung erstellen Sie ein Analysis Services-Projekt namens Erster Cube, in dem Sie Ihren ersten Cube speichern. Ein neues Analysis Services-Projekt beginnen 1. Zeigen Sie im Menü Datei auf Neu und klicken Sie dann auf Projekt. Jacobson, Misner, Consulting, Microsoft SQL Server 2005 Analysis Services, © 2006 Microsoft Press Deutschland, ISBN 3-86645-560-7 Kapitel 3: Einen Cube erstellen 55 Im Dialogfeld Neues Projekt werden die für Business Intelligence-Projekttypen verfügbaren Designer angezeigt. Wenn Visual Studio auf Ihrem Computer installiert ist, können Sie auch andere Visual Studio-Designer verwenden, um andere Projekte in eine Projektmappe einzufügen, falls das BI-Projekt in eine benutzerdefinierte Anwendung eingebunden werden soll. 2. Stellen Sie sicher, dass unter Projekttypen der Eintrag Business Intelligence-Projekte ausgewählt ist, und klicken Sie dann auf die Vorlage Analysis Services-Projekt. 3. Geben Sie im Feld Name einen Namen für das Projekt ein: Erster Cube. Beachten Sie, dass der Text im Feld Projektmappenname automatisch dem Projektnamen angepasst wird. Wenn Sie vorhaben, eine Projektmappe mit mehreren Projekten zu erstellen, können Sie den Projektmappennamen ändern. Hier übernehmen Sie den Namen Erster Cube. 4. Ändern Sie den Speicherort des Projekts in C:\Dokumente und Einstellungen\ <Benutzername>\Eigene Dateien\Microsoft Press\AS2005SfS\Arbeitsbereich und vergewissern Sie sich, dass das Kontrollkästchen Projektmappenverzeichnis erstellen aktiviert ist. Das Dialogfeld Neues Projekt sollte jetzt wie in Abbildung 3.4 aussehen. Abbildung 3.4 Für die Projektmappe Erster Cube wird ein gleichnamiges Verzeichnis erstellt 5. Klicken Sie auf OK, um fortzufahren. Der Projektmappen-Explorer enthält jetzt eine Reihe leerer Ordner, die später mit Objekten gefüllt werden, wenn Sie das Analysis Services-Projekt erstellen. In Visual Studio sind auch einige andere Fenster verfügbar, die Sie zum Erstellen Jacobson, Misner, Consulting, Microsoft SQL Server 2005 Analysis Services, © 2006 Microsoft Press Deutschland, ISBN 3-86645-560-7 56 Teil A: Einführung in Analysis Services und Verwalten von Objekten eines Projekts benutzen. Darauf wird in späteren Kapiteln in diesem Buch eingegangen. Einen Cube erstellen Nachdem Sie ein Analysis Services-Projekt erstellt haben, können Sie einen Cube erstellen, ohne dass Fakten- und Dimensionstabellen als Datenquellen verfügbar sein müssen. Ein Cube besteht aus einem oder mehreren Measures (z.B. Sales oder Quantity) aus einer Faktentabelle und einer oder mehreren Dimensionen (z.B. Product oder Time) aus Dimensionstabellen. Wenn während der Cubeerstellung bereits die benötigte Datenquelle vorhanden ist, können Sie im Cube-Assistenten die geeigneten Fakten- und Dimensionstabellen auswählen. Den Cube-Assistenten ohne Datenquelle einsetzen Wenn Sie einen Cube ohne Datenquelle erstellen möchten, können Sie eine integrierte Vorlage benutzen, die die Definition der Cubestruktur erleichtert. Nach der Auswahl der gewünschten Vorlage können Sie Measures und Dimensionen in der Vorlage auswählen, die in den Cube aufgenommen werden sollen, und angeben, welche Dimensionen mit den einzelnen Measuregruppen verknüpft werden sollen. Sie haben die Möglichkeit, unmittelbar nach der Fertigstellung des Assistenten das relationale Schema zu erzeugen. Bevor Sie dies tun, sollten Sie jedoch die Analyseobjekte, die anhand der Vorlage erstellt wurden, ändern oder löschen. In der folgenden Übung starten Sie den Cube-Assistenten, um einen neuen Cube zu erstellen. Einen neuen Cube erstellen 1. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf den Ordner Cubes und klicken Sie dann auf Neuer Cube. Die Seite Willkommen des Cube-Assistenten wird angezeigt. Wenn Sie diese Seite künftig umgehen möchten, aktivieren Sie einfach das Kontrollkästchen Diese Seite nicht mehr anzeigen. 2. Klicken Sie auf Weiter. In der folgenden Übung wählen Sie die Option aus, die zur Erstellung eines Cubes auf der Grundlage einer Vorlage ohne zugrunde liegende Datenbank dient. Eine Datenquelle angeben 1. Klicken Sie auf Cube ohne eine Datenquelle erstellen. 2. Aktivieren Sie das Kontrollkästchen Cubevorlage verwenden und wählen Sie in der Vorlagen-Dropdownliste Adventure Works Standard Edition aus. Die Seite Erstellungsmethode auswählen des Cube-Assistenten sollte jetzt wie in Abbildung 3.5 aussehen. Jacobson, Misner, Consulting, Microsoft SQL Server 2005 Analysis Services, © 2006 Microsoft Press Deutschland, ISBN 3-86645-560-7 Kapitel 3: Einen Cube erstellen 57 Abbildung 3.5 Der Cube wird ohne Datenquelle mit Vorlage erstellt 3. Klicken Sie auf Weiter. Würden Sie eine Datenquelle verwenden, würde Sie der Cube-Assistent durch die notwendigen Schritte führen. Ohne Datenquelle besteht der nächste Schritt in der Erstellung von Measures und Dimensionen. Die Vorlagen erleichtern diesen Vorgang. In der folgenden Übung legen Sie Umsatzbetrag und Verkaufte Stückzahl als Measures für den Cube fest. Measures hinzufügen 1. Um die Auswahl aller Measures aufzuheben, klicken Sie auf das Feld, das sich in der Kopfzeile links neben Measurename befindet; dann aktivieren Sie die Kontrollkästchen links neben Betrag der Internetverkäufe und Internetbestellmenge. Beachten Sie, dass diese Measures Teil einer Measuregruppe namens Internetverkäufe sind. Wenn Sie durch die Measureliste blättern, finden Sie weitere Measuregruppen: Internetbestellungen, Internetkunden, Verkaufsgründe, Verkäufe des Wiederverkäufers, Bestellungen des Wiederverkäufers, Verkaufszusammenfassung, Verkaufsaufträge und Verkaufsziele. Jede Measuregruppe ist eine Auflistung von Measures, die aus derselben Faktentabelle stammen. 2. Blättern Sie zurück zum Anfang der Measureliste, klicken Sie auf das Feld, das den Measurenamen Betrag der Internetverkäufe enthält, und ändern Sie den Measurenamen in Umsatzbetrag. 3. Wiederholen Sie den letzten Schritt, um den Measurenamen Internetbestellmenge in Verkaufte Stückzahl zu ändern. Jacobson, Misner, Consulting, Microsoft SQL Server 2005 Analysis Services, © 2006 Microsoft Press Deutschland, ISBN 3-86645-560-7 58 Teil A: Einführung in Analysis Services Die in den Vorlagen vorgegebenen Measurenamen können nach Bedarf geändert werden. Wenn Sie vergessen, den Namen in diesem Schritt des Cube-Assistenten zu ändern, können Sie ihn später im Cube-Designer ändern. 4. Ändern Sie in der Spalte Measuregruppe den Namen der Measuregruppe Internetverkäufe für die Zeilen Umsatzbetrag und Verkaufte Stückzahl in Verkäufe. Die Seite Neue Measures definieren des Cube-Assistenten sollte jetzt wie in Abbildung 3.6 aussehen. Abbildung 3.6 Der Name der Measuregruppe wurde geändert 5. Klicken Sie auf Weiter. In der folgenden Übung fügen Sie dem Cube die Dimensionen Product und Time hinzu. Dimensionen hinzufügen 1. Um die Auswahl der Dimensionen in der Vorlage aufzuheben, klicken Sie in der Kopfzeile auf das Feld neben Typ. Die Vorlage enthält verschiedene Dimensionen, die Sie in den Cube aufnehmen können. Jede Dimension umfasst einige Standardattribute, die Sie im Cube-Assistenten nicht ändern können. Nach der Fertigstellung des Assistenten sind diese Attribute jedoch beliebig änderbar. Markieren Sie das Feld SCD, wenn Sie Attribute für langsam veränderliche Dimensionen (Slowly Changing Dimensions, SCD) zum Verfolgen der Start- und Enddaten sowie des aktuellen Status des Dimensionsdatensatzes hinzufügen möchten. 2. Aktivieren Sie die entsprechenden Kontrollkästchen zur Auswahl der Dimensionen Products (bzw. Produkt) und Time (bzw. Datum). Jacobson, Misner, Consulting, Microsoft SQL Server 2005 Analysis Services, © 2006 Microsoft Press Deutschland, ISBN 3-86645-560-7 Kapitel 3: Einen Cube erstellen 3. 59 Vergrößern Sie das Fenster des Cube-Assistenten, um alle Dimensionsattribute der Vorlage betrachten zu können. Ihr Bildschirm sollte wie in Abbildung 3.7 aussehen. Abbildung 3.7 Sämtliche Attribute werden im Cube-Assistenten angezeigt Beachten Sie die Standardattribute der verschiedenen Dimensionen. Sie haben stets die Möglichkeit, nicht benötigte Attribute zu entfernen oder gewünschte Attribute hinzuzufügen, nachdem der Cube-Assistent beendet wurde. Sie verfügen jetzt über die Dimensionen, die Sie dem Cube hinzufügen mussten, und können nun mit dem nächsten Schritt fortfahren. 4. Klicken Sie auf Weiter. In der folgenden Übung legen Sie als Anfangsdatum den 1. Juli 2001 und als Enddatum den 31. Dezember 2006 für die Daten fest, die analysiert werden sollen. Zeiträume definieren 1. Klicken Sie auf die Dropdownliste Erster Kalendertag, klicken Sie im Kalendersteuerelement auf den nach links gerichteten Pfeil und blättern Sie zurück bis zum Juli 2001. Klicken Sie dann im Kalender auf das betreffende Tagesfeld, um den 1. Juli 2001 als Anfangsdatum festzulegen. Wenn Sie die Dimension Time der Vorlage verwenden, müssen Sie den Datumsbereich für diese Dimension definieren. Sie müssen außerdem die Attribute ange- Jacobson, Misner, Consulting, Microsoft SQL Server 2005 Analysis Services, © 2006 Microsoft Press Deutschland, ISBN 3-86645-560-7 60 Teil A: Einführung in Analysis Services ben, die in die Dimension aufgenommen werden sollen, z.B. Jahr, Quartal, Monat. 2. Stellen Sie sicher, dass in der Dropdownliste Letzter Kalendertag der 31. Dezember 2006 angezeigt wird. Sie können die Datumswerte in die Felder eintippen oder mithilfe des Kalendersteuerelements festlegen. 3. Wählen Sie im Bereich Zeiträume folgende Einträge aus: Jahr, Quartal und Monat. 4. Deaktivieren Sie im Bereich Zeiträume das Kontrollkästchen Datum. Daraufhin wird am unteren Rand des Assistenten-Dialogfeldes folgende Warnung angezeigt: »Die Datumshäufigkeitsebene ist erforderlich. Wenn die Ebene nicht sichtbar sein soll, können Sie dieses Attribut im Dimensions-Editor ausblenden.« Da das Attribut Datum das Schlüsselattribut der Dimension Time ist, muss es hinzugefügt werden. Das Schlüsselattribut wird von Analysis Services intern zur eindeutigen Identifizierung der Datensätze verwendet. Beachten Sie, dass Sie nicht zur nächsten Seite des Assistenten gelangen können, solange Datum deaktiviert ist. 5. Aktivieren Sie Datum und klicken Sie dann auf Weiter. In der folgenden Übung werden Sie eine Geschäftskalenderhierarchie hinzufügen, die am 1. Juli beginnt und am 30. Juni endet. Einen zusätzlichen Kalender hinzufügen 1. Aktivieren Sie das Kontrollkästchen Geschäftsjahr. Zusätzliche Kalender sind optional. Es stehen vier Kalendertypen zur Auswahl, die zur Erstellung alternativer Hierarchien für die Dimension Time verwendet werden: Geschäftskalender, Berichtskalender, Produktionskalender und ISO 8601. Für jeden Kalendertyp, mit Ausnahme von ISO 8601, können Sie den Starttag und -monat festlegen, damit die Daten dem richtigen Zeitraum zugeordnet werden. Wenn Sie beispielsweise den Starttag des Geschäftskalenders in 1. Juli ändern, werden alle Tage im Monat Juli im ersten Monat des Jahres angezeigt, wenn Sie den Geschäftskalender zum Durchsuchen von Cubedaten benutzen. 2. Legen Sie für Starttag und -monat den 1. Juli fest. 3. Klicken Sie auf Weiter. In der folgenden Übung legen Sie die Beziehungen zwischen Dimensionen und Measuregruppen fest und geben an, wie die Dimensionen verwendet werden. Jacobson, Misner, Consulting, Microsoft SQL Server 2005 Analysis Services, © 2006 Microsoft Press Deutschland, ISBN 3-86645-560-7 Kapitel 3: Einen Cube erstellen 61 Beziehung zwischen Dimensionen und Measures festlegen 1. Betrachten Sie die Standardeinstellungen auf der Seite Dimensionsverwendung definieren des Cube-Assistenten, die wie in Abbildung 3.8 aussehen sollte. Abbildung 3.8 Hier werden die Beziehungen zwischen Dimensionen und Measures festgelegt Die aktivierten Kontrollkästchen zeigen an, dass sowohl die Dimension Produkt als auch die Dimension Datum mit Measures der Measuregruppe Verkäufe in Beziehung gesetzt wird. Da Sie einen ganz einfachen Cube erstellen, sollen beide Dimensionen der einzigen Measuregruppe zugeordnet sein. Hinweis Der Assistent verknüpft eine Measuregruppe immer mit dem Schlüsselattribut der einzelnen Dimension. In vielen Fällen ist dies erwünscht. Wenn beispielsweise Datum das Schlüsselattribut der Dimension Time und Produkt das Schlüsselattribut der Dimension Products ist, dann sind die Verkaufsdaten für einzelne Tage und Produkte verfügbar, und der Assistent stellt die richtige Beziehung her. Was geschähe jedoch, wenn Sie zudem eine Measuregruppe für Budgetdaten in den Cube aufgenommen hätten? Budgetdaten sind in der Regel nicht so detailliert wie Verkaufsdaten und vielleicht nach Monat und Produktkategorie statt nach Tag und Produkt gestaffelt. Sie können diese Beziehung zwischen Budgetmeasures und Attributen, die keine Schlüsselattribute der Dimension Product sind, nicht mit dem Assistenten definieren. Sie werden sie aber später im Cube-Designer definieren. In Kapitel 9 »Spezielle Features« wird die Verwendung von Dimensionen eingehender behandelt. 2. Klicken Sie auf Weiter. In der folgenden Übung benennen Sie den Cube. Dies ist der letzte Schritt zum Abschluss des Assistenten. Jacobson, Misner, Consulting, Microsoft SQL Server 2005 Analysis Services, © 2006 Microsoft Press Deutschland, ISBN 3-86645-560-7 62 Teil A: Einführung in Analysis Services Den Cube-Assistenten fertig stellen 1. Geben Sie den Namen Umsatzcube in das Feld Cubename ein. Der Cubename wird automatisch vorgegeben, wenn Sie eine Vorlage auswählen. Hier lautet der vorgegebene Name Adventure Works. Wenn Sie keine Vorlage verwenden, wird der Name der Datenquellensicht als Standardname übernommen. Sie können diesen Namen später jederzeit ändern. 2. Erweitern Sie den Knoten Produkt und anschließend den Ordner Attribute, um sich anzusehen, welche Attribute für diese Dimension erstellt werden. Die auf dieser Seite des Cube-Assistenten dargestellte Vorschau der Cubestruktur ist die erste umfassende Ansicht des Cubes. Wenn Sie etwas sehen, das geändert werden muss, können Sie zur betreffenden Seite des Cube-Assistenten zurückgehen. Denken Sie jedoch daran, dass Sie diese Struktur auch später noch jederzeit ändern können, wenn Sie Objekte hinzufügen oder löschen möchten. Wenn Sie die Option Schema jetzt generieren aktivieren, wird der Schemagenerierungs-Assistent gestartet. Ein Schema ist eine denormalisierte relationale Datenbank, die Tabellen für die im Cube verwendeten Measuregruppen und Dimensionen enthält. Sie erfahren mehr über die Schemagenerierung, wenn Sie den Schemagenerierungs-Assistenten ausführen, der weiter hinten in diesem Kapitel erläutert wird. 3. Klicken Sie auf Fertig stellen, um den Cube-Assistenten abzuschließen. Im Hauptfenster wird jetzt die Registerkarte Cubestruktur des Cube-Designers angezeigt (siehe Abbildung 3.9). Abbildung 3.9 Die Cubestruktur des Cubes Umsatzcube Jacobson, Misner, Consulting, Microsoft SQL Server 2005 Analysis Services, © 2006 Microsoft Press Deutschland, ISBN 3-86645-560-7 Kapitel 3: Einen Cube erstellen 63 Hinweis Die roten Linien im Bereich Measures weisen auf ein Problem mit den Measures hin. Weil keine Datenquellensicht mit den Measures verknüpft ist, ergibt sich eine Fehlerbedingung. Sie beheben die Fehlerbedingungen weiter hinten in diesem Kapitel durch die Erzeugung eines Schemas. Gratulation! Sie haben gerade Ihren ersten Cube erstellt. Sie sehen in der unteren linken Fensterecke den Bereich Dimensionen, in dem die beiden Dimensionen des Cubes aufgeführt werden. In der oberen linken Fensterecke befindet sich der Bereich Measures mit einer Measuregruppe, die zwei Measures enthält. Da der Cube noch nicht mit einer Datenquelle verbunden ist, wird im mittleren Fenster keine Datenquellensicht angezeigt. Sie können trotzdem die Cubestruktur überprüfen, ihr Elemente hinzufügen oder sie ändern, bis sie Ihren Vorstellungen entspricht. Der Cube-Assistent erstellt weder die eigentliche Cubedatei noch lädt er Werte aus dem Data Warehouse. Um den Cube verwenden zu können, müssen Sie ihn verarbeiten, was Sie weiter hinten in diesem Kapitel tun werden. Die Cubestruktur im Cube-Designer überprüfen Auf der Registerkarte Cubestruktur des Cube-Designers werden die für den Cube definierten Dimensions- und Measureobjekte dargestellt. Sie können die Eigenschaften jedes Objekts in diesem Arbeitsbereich betrachten und ändern. Wenn Sie ein Objekt auf der Registerkarte Cubestruktur auswählen, werden die Eigenschaften dieses Objekts im Eigenschaftenfenster angezeigt und können dort bearbeitet werden. Die Registerkarte Cubestruktur enthält auch einen Diagrammbereich, in dem Sie die dem Cube zugrunde liegenden Tabellenstrukturen betrachten und feststellen können, welche Spalten der Dimensions- und Faktentabellen miteinander verknüpft sind. Falls die Tabellen noch nicht erstellt wurden, wird die Verknüpfung Klicken Sie hier, um die Datenquellensicht zu generieren angezeigt. Mit dieser Verknüpfung wird der Schemagenerierungs-Assistent gestartet, auf den weiter hinten in diesem Kapitel detaillierter eingegangen wird. In der folgenden Übung ändern Sie das Standardmeasure in Umsatzbetrag und untersuchen die Registerkarte Cubestruktur des Cube-Designers. Die Cubestruktur überprüfen und ändern 1. Klicken Sie auf der Registerkarte Cubestruktur auf Umsatzbetrag. Beachten Sie das Eigenschaftenfenster unter dem Projektmappen-Explorer. In diesem Fenster werden alle verfügbaren Eigenschaften des ausgewählten Objekts, hier also Umsatzbetrag, angezeigt. 2. Klicken Sie in der Symbolleiste Cubestruktur auf die Schaltfläche Measurestruktur anzeigen. Im Bereich Measures werden die Measuregruppe Verkäufe und die zugehörigen Measures jetzt in einer Strukturansicht angezeigt. 3. Klicken Sie in der Measurestruktur auf Verkäufe. Im Eigenschaftenfenster können Sie jetzt alle Eigenschaften betrachten, die zur Measuregruppe Verkäufe gehören. Wenn Sie Measures in der Tabellenansicht Jacobson, Misner, Consulting, Microsoft SQL Server 2005 Analysis Services, © 2006 Microsoft Press Deutschland, ISBN 3-86645-560-7 64 Teil A: Einführung in Analysis Services betrachten, können Sie nicht auf die Eigenschaften von Measuregruppen zugreifen. Die Tabellenansicht ist die Standardansicht der Cubestruktur, nachdem ein Cube anhand einer Vorlage erstellt wurde. Sie können allerdings mithilfe der Symbolleistenschaltflächen zwischen der Tabellen- und der Strukturansicht wechseln. 4. Klicken Sie im Bereich Measures auf Umsatzcube. Wie bei den Measuregruppen gibt es auch bei Cubes bestimmte Eigenschaften, die Sie nur in der Measurestrukturansicht ändern können. Die Eigenschaft DefaultMeasure eines Cubes muss möglicherweise geändert werden, wenn Sie einen Cube zwar auf einer Vorlage basierend erstellen, das Standardmeasure der Vorlage jedoch nicht in den Cube aufnehmen. In diesem Fall ist Reseller Sales Amount kein gültiges Measure für diesen Cube und daher müssen Sie die Eigenschaft DefaultMeasure für diesen Cube ändern. 5. Suchen Sie im Eigenschaftenfenster nach der Eigenschaft DefaultMeasure (am Anfang der Eigenschaftenliste) und klicken Sie in der Dropdownliste dieser Eigenschaft auf Umsatzbetrag. Achtung Wenn Sie diese Eigenschaft nicht ändern, kann der Cube nicht verarbeitet werden. 6. Erweitern Sie im Bereich Dimensionen die Dimension Datum. Ihr Bildschirm sollte wie in Abbildung 3.10 aussehen. Abbildung 3.10 Unten links werden die Elemente der Dimension Datum angezeigt Jacobson, Misner, Consulting, Microsoft SQL Server 2005 Analysis Services, © 2006 Microsoft Press Deutschland, ISBN 3-86645-560-7 Kapitel 3: Einen Cube erstellen 65 Beachten Sie die beiden Hierarchien, die vom Cube-Assistenten erstellt wurden: 쐽 Jahr - Quartal - Monat - Datum 쐽 Geschäftsjahr - Geschäftsquartal - Geschäftsmonat - Geschäftstag Die Verknüpfung Datum bearbeiten über diesen Hierarchien ist eine Möglichkeit, die Dimensionsstruktur für diese Dimension zu öffnen. Die Dimensionsstruktur ist ein Arbeitsbereich im Dimensions-Designer, in dem Sie die Eigenschaften der Attribute und Hierarchien einer Dimension bearbeiten können. Dimensionen, Attribute und Hierarchien werden in Kapitel 4 eingehender behandelt. 7. Klicken Sie im Bereich Dimensionen auf die Registerkarte Attribute und erweitern Sie Produkt. Der Bereich Dimensionen sieht nun wie in Abbildung 3.11 aus. Abbildung 3.11 Unten links werden die Attribute der Dimension Produkt angezeigt Hier werden alle Attribute der Vorlage Adventure Works Standard Edition aufgeführt, die Sie zur Erstellung dieses Cubes verwendet haben. Sie können hier keine Attribute löschen, die Sie nicht in die Dimension aufnehmen möchten. Die Attribute einer Dimension können nur im Dimensions-Designer geändert oder gelöscht werden. Jacobson, Misner, Consulting, Microsoft SQL Server 2005 Analysis Services, © 2006 Microsoft Press Deutschland, ISBN 3-86645-560-7 66 Teil A: Einführung in Analysis Services Ein Schema generieren Wenn Sie mit dem Cube-Assistenten einen Cube ohne Datenquelle erstellen, müssen Sie eine relationale Datenbank anlegen, die die Daten enthält, die in den Cube geladen werden. Sie können die erforderlichen Dimensions- und Faktentabellen von Hand erstellen oder hierzu den Schemagenerierungs-Assistenten zu Hilfe nehmen. Nachdem das Schema erstellt wurde, können Sie die Dimensions- und Faktentabellen mit Daten füllen, um diese Daten später im Cube anzeigen zu können. Den Schemagenerierungs-Assistenten verwenden Der Schemagenerierungs-Assistent führt Sie schrittweise durch die Erstellung eines relationalen Schemas. Zuerst müssen Sie die Datenbank erstellen, zu der der Schemagenerierungs-Assistent die Dimensions- und Faktentabellen hinzufügen soll, die erforderlich sind, um Daten in den Cube zu laden. Sobald die relationalen Strukturen erstellt wurden, fügt der Schemagenerierungs-Assistent dem Analysis Services-Projekt eine Datenquellensicht hinzu, die auf der von Ihnen angegebenen Datenquelle basiert. Die Datenquelle definiert die Verbindungsdaten für die Quelldatenbank. Eine Datenquellensicht ist dagegen eine Darstellung der Tabellenstrukturen und Ansichten, die benutzt werden, wenn Änderungen am Cube vorgenommen und Daten in den Cube geladen werden. In der folgenden Übung führen Sie den Schemagenerierungs-Assistenten aus. Ein relationales Schema erstellen 1. Starten Sie Microsoft SQL Server Management Studio, klicken Sie im Feld Servertyp auf Datenbankmodul, stellen Sie sicher, dass der Servername korrekt ist, und klicken Sie dann auf Verbinden. Hinweis In diesem Buch wird davon ausgegangen, dass Sie auf einem lokalen Server arbeiten und Windows-Authentifizierung verwenden. Sie müssen den Servernamen ändern und Anmeldeinformationen bereitstellen, wenn Ihre Umgebung anders konfiguriert ist. 2. Klicken Sie im Objekt-Explorer mit der rechten Maustaste auf den Ordner Datenbanken und klicken Sie dann auf Neue Datenbank. 3. Geben Sie für die Datenbank den Namen Einfache Datenbank ein und klicken Sie dann auf OK. 4. Wechseln Sie zu Visual Studio und klicken Sie im Diagrammbereich der Registerkarte Cubestruktur auf die Verknüpfung Klicken Sie hier, um die Datenquellensicht zu generieren. Der Schemagenerierungs-Assistent wird gestartet. 5. Klicken Sie auf Weiter und klicken Sie dann auf der Seite Ziel angeben auf Neu. Der Datenquellen-Assistent wird geöffnet. Jacobson, Misner, Consulting, Microsoft SQL Server 2005 Analysis Services, © 2006 Microsoft Press Deutschland, ISBN 3-86645-560-7 Kapitel 3: Einen Cube erstellen 67 Hinweis Wenn Sie bereits zuvor dem Projekt eine Datenquelle hinzugefügt hätten, könnten Sie diese im Listenfeld Datenquelle auswählen, anstatt eine neue Datenquelle erstellen zu müssen. 6. Klicken Sie auf Weiter und klicken Sie auf der Seite Wählen Sie aus, wie die Verbindung definiert werden soll des Datenquellen-Assistenten auf Neu. 7. Geben Sie im Dialogfeld Verbindungs-Manager folgenden Servernamen ein: localhost. 8. Aktivieren Sie unter Beim Server anmelden das Kontrollkästchen Windows-Authentifizierung verwenden. 9. Klicken Sie im Listenfeld Wählen Sie einen Datenbanknamen aus, oder geben Sie ihn ein auf Einfache Datenbank. 10. Klicken Sie auf die Schaltfläche Verbindung testen und anschließend im Meldungsfeld mit der Meldung Der Verbindungstest war erfolgreich auf OK. 11. Klicken Sie auf OK, um das Dialogfeld Verbindungs-Manager zu schließen, und anschließend auf Weiter. 12. Klicken Sie auf der Seite Identitätswechselinformationen des Datenquellen-Assistenten auf Dienstkonto und dann auf Weiter. Wichtig Wenn Sie auf dieser Seite eine andere Option wählen, können Sie den Cube später nicht auf dem Analysis-Server bereitstellen. Als Datenquellenname wird gemäß Voreinstellung der Name der gewählten Datenbank übernommen, hier also Einfache Datenbank. 13. Klicken Sie auf Fertig stellen, um den Datenquellen-Assistenten abzuschließen. Ihr Bildschirm sollte wie in Abbildung 3.12 aussehen. Jacobson, Misner, Consulting, Microsoft SQL Server 2005 Analysis Services, © 2006 Microsoft Press Deutschland, ISBN 3-86645-560-7 68 Teil A: Einführung in Analysis Services Abbildung 3.12 Die Datenquelle Einfache Datenbank wurde erstellt Nachdem eine Datenquelle verfügbar ist, können Sie mit dem Schemagenerierungs-Assistenten fortfahren. 14. Klicken Sie auf Weiter. Die Seite Schemaoptionen für die Themenbereichsdatenbank sieht wie in Abbildung 3.13 aus. Abbildung 3.13 Hier legen Sie die Schemaoptionen für die Datenbank fest Jacobson, Misner, Consulting, Microsoft SQL Server 2005 Analysis Services, © 2006 Microsoft Press Deutschland, ISBN 3-86645-560-7 Kapitel 3: Einen Cube erstellen 69 Auf dieser Seite des Assistenten müssen Sie einen Besitzer für das Schema der Zieldatenbank festlegen. In der Voreinstellung wird das Analysis Services-Projekt als Schemabesitzer zugewiesen. Eine Zieldatenbank kann mehrere Schemas enthalten, die jeweils durch einen Projektnamen unterschieden werden, damit die Tabellen, die für ein Projekt erzeugt werden, nicht mit Tabellen anderer Projekte in Konflikt geraten. Beachten Sie, dass in der Voreinstellung alle Optionen aktiviert sind, weil dies den Empfehlungen für den Entwurf relationaler Themen entspricht. Wenn eine schnelle Prototypentwicklung, die Verarbeitungsgeschwindigkeit oder die Datenintegrität für Sie allerdings nicht von Belang sind, können Sie diese Optionen deaktivieren. In dieser Übung lassen Sie sie aktiviert. 쐽 Sie können das Leistungsverhalten verbessern, indem Sie den Schemagenerie- rungs-Assistenten Primärschlüssel in den physischen Dimensionstabellen erstellen lassen. Wenn Sie den Assistenten keine Primärschlüssel erstellen lassen, werden in der Datenquellensicht automatische logische Primärschlüssel für jede Dimension erstellt, weil Analysis Services Primärschlüssel erfordert. 쐽 Eine weitere Leistungsverbesserung kann durch die Erstellung von Indizes für Fremdschlüsselspalten in der Faktentabelle erzielt werden. In der Regel beschleunigen diese Indizes die Analysis Services-Verarbeitung immens, weil die Daten wegen der vielen Verknüpfungen zwischen Dimensions- und Faktentabellen effizienter aus der Datenbank abgerufen werden können. Sie können die Erstellung dieser Indizes allerdings umgehen. 쐽 Die referenzielle Integrität zwischen Faktentabelle und Dimensionstabellen ist für die Wahrung der Datenqualität in einer analytischen Anwendung wichtig. Sie können festlegen, ob die referenzielle Integrität im relationalen Schema erzwungen werden soll. Die physischen Tabellen und die Datenquellensicht beinhalten in jedem Fall die Fremdschlüsselbeziehungen zwischen Fakten- und Dimensionstabellen, damit diese zur Verarbeitung von Abfragen richtig verknüpft werden können. 쐽 Sie müssen zudem angeben, ob die Daten beibehalten werden sollen, wenn das Schema zu einem späteren Zeitpunkt neu generiert wird. Wenn Sie die Option zur Beibehaltung der Daten aktivieren, ein durch eine Schemaänderung bedingtes Problem jedoch die Löschung von Zeilen erfordert, wird eine Warnung angezeigt, bevor die Zeilen gelöscht werden. 쐽 Als Nächstes müssen Sie festlegen, ob der Schemagenerierungs-Assistent die Zeittabelle für die Dimension Time automatisch mit Daten füllen soll. Dies kann bei jeder erneuten Schemagenerierung geschehen oder nur dann, wenn die Tabellen bei der Schemagenerierung leer sind. Sie können zudem angeben, dass die Tabellen nicht mit Daten gefüllt werden sollen. Wenn in der Zeitdimension Attribute verwendet werden, die in einer Vorlage des CubeAssistenten definiert sind, werden alle Attribute mit Daten gefüllt. Fügen Sie der Zeitdimension jedoch nach Abschluss des Assistenten ein neues Attribut hinzu, erstellt der Schemagenerierungs-Assistent in der Dimensionstabelle zwar eine neue Spalte für dieses Attribut, kann jedoch nicht ermitteln, mit welchen Werten diese Spalte gefüllt werden sollte. Sie müssen selbst eine Methode zur Aktualisierung dieser Datenspalte finden. Jacobson, Misner, Consulting, Microsoft SQL Server 2005 Analysis Services, © 2006 Microsoft Press Deutschland, ISBN 3-86645-560-7 70 Teil A: 15. Einführung in Analysis Services Klicken Sie auf Weiter. Der Schemagenerierungs-Assistent sollte jetzt wie in Abbildung 3.14 aussehen. Abbildung 3.14 Die Standardbenennungskonventionen Auf dieser Seite können Sie die vom Schemagenerierungs-Assistenten verwendeten Benennungskonventionen anpassen, wenn diese gegebenen Standards entsprechen sollen. Als Standardtrennzeichen wird ein Unterstrich verwendet, aber Sie können auch ein Leerzeichen oder kein Trennzeichen wählen. Das Präfix der Primärschlüsselspalte und das Präfix der Fremdschlüsselspalte können von PS bzw. FS in andere Werte Ihrer Wahl geändert werden. Wenn für ein Attribut sowohl eine Schlüsselspalte als auch eine Namensspalte vorhanden ist, dann wird der Namensspalte gemäß Standardbenennungskonvention das Suffix Name angehängt. Sie können dieses Suffix ändern, müssen dabei jedoch beachten, dass jedes Suffix eindeutig sein muss. Die übrigen Benennungskonventionen gelten für Suffixe für Spalten, die für spezielle Analysis Services-Funktionen verwendet werden: benutzerdefinierten Rollup, benutzerdefinierte Rollupeigenschaften, unäre Operatoren und ausgelassene Ebenen. Sie können die Standardsuffixwerte für jeden Spaltentyp ändern, müssen allerdings darauf achten, dass kein Suffix doppelt vorkommt. 16. Klicken Sie auf Weiter und dann auf Fertig stellen. Im Fenster Schemagenerierung - Status werden der Verarbeitungsstatus und Einzelheiten zu den Schritten angezeigt, die gerade ausgeführt werden. Sobald die Verarbeitung abgeschlossen ist, wird die Schaltfläche Schließen aktiviert. 17. Klicken Sie auf Schließen. Ihr Bildschirm sollte nun wie in Abbildung 3.15 aussehen. Jacobson, Misner, Consulting, Microsoft SQL Server 2005 Analysis Services, © 2006 Microsoft Press Deutschland, ISBN 3-86645-560-7 Kapitel 3: Einen Cube erstellen 71 Abbildung 3.15 Cubestruktur und Datenquellensicht des Umsatzcubes Das relationale Schema mit Daten füllen Nachdem die von Ihnen erstellte Datenbank namens Einfache Datenbank nun über eine Faktentabelle und Dimensionstabellen verfügt, können Sie diese Tabellen mit Daten füllen, damit der Cube verarbeitet werden kann. Mit Verarbeitung des Cubes ist der Vorgang gemeint, mit dem Daten in den Cube und Dimensionsdaten aus den relationalen Tabellen geladen werden. Eine Diskussion sämtlicher Empfehlungen, die bei der Vorbereitung von Daten für ein Data Warehouse zu befolgen sind, würde den Rahmen dieses Buches sprengen. Um die Übungen dieses Kapitels abschließen zu können, müssen Sie einfach eine Teilmenge von Daten aus der Datenbank SSAS Step by Step DW in die neu erstellte Fakten- und Dimensionstabellen der Datenbank Einfache Datenbank kopieren. In der folgenden Übung kopieren Sie mit dem SQL Server-Import/Export-Assistenten Daten aus den Tabellen DimProduct und FactResellerSales der Datenbank SSAS Step by Step DW in die Datenbank Einfache Datenbank. Das Schema mit Daten füllen 1. Falls erforderlich, öffnen Sie SQL Server Management Studio und stellen eine Verbindung mit dem Datenbankmodul her. 2. Klicken Sie im Ordner Datenbanken mit der rechten Maustaste auf SSAS Step by Step DW, zeigen Sie auf Tasks und klicken Sie dann auf Daten exportieren. 3. Der SQL Server-Import/Export-Assistent wird geöffnet. Klicken Sie auf Weiter. 4. Auf der Seite Datenquelle auswählen werden automatisch die Angaben zu Datenquelle, Server und Datenbank eingetragen, um eine Verbindung mit der Datenbank SSAS Step by Step DW herzustellen. Klicken Sie auf Weiter. Jacobson, Misner, Consulting, Microsoft SQL Server 2005 Analysis Services, © 2006 Microsoft Press Deutschland, ISBN 3-86645-560-7 72 Teil A: Einführung in Analysis Services 5. Wählen Sie auf der Seite Ziel auswählen in der Dropdownliste Datenbank die Datenbank Einfache Datenbank aus und klicken Sie dann auf Weiter. 6. Wählen Sie auf der Seite Tabelle kopieren oder Datenbank abfragen die Option Abfrage zum Angeben der zu übertragenden Daten schreiben und klicken Sie dann auf Weiter. 7. Geben Sie auf der Seite Quellabfrage angeben die folgende Abfrage in das Feld SQLAnweisung ein: Select ProductKey, EnglishProductName, Weight from DimProduct 8. Klicken Sie auf Weiter und klicken Sie dann in der Dropdownliste Ziel auf [Einfache Datenbank].[Erster Cube].[Produkt]. 9. Klicken Sie in der Spalte Zuordnung auf Bearbeiten und klicken Sie dann im Dialogfeld Spaltenzuordnungen bei allen Quellspalten jeweils in das Feld Ziel, um die in der nachfolgenden Tabelle angegebene Zielspalte auszuwählen: Quelle Ziel ProductKey PS_Produkt EnglishProductName Produkt_Name Weight Gewicht Ihr Bildschirm sollte wie in Abbildung 3.16 aussehen. Abbildung 3.16 Den Quellspalten wurden Zielspalten zugeordnet Jacobson, Misner, Consulting, Microsoft SQL Server 2005 Analysis Services, © 2006 Microsoft Press Deutschland, ISBN 3-86645-560-7 Kapitel 3: Einen Cube erstellen 10. 73 Klicken Sie auf OK, um das Dialogfeld Spaltenzuordnungen zu schließen. Klicken Sie auf Weiter und dann zwei Mal auf Fertig stellen. Auf der Seite Operation wird ausgeführt des Assistenten wird der Status der Kopieroperation angezeigt. 11. Nach Abschluss der Operation klicken Sie auf Schließen. 12. Klicken Sie im Ordner Datenbanken mit der rechten Maustaste auf SSAS Step by Step DW, zeigen Sie auf Tasks und klicken Sie dann auf Daten exportieren. 13. Klicken Sie zwei Mal auf Weiter, dann in der Dropdownliste Datenbank auf Einfache Datenbank und anschließend auf Weiter. 14. Wählen Sie auf der Seite Tabelle kopieren oder Datenbank abfragen die Option Abfrage zum Angeben der zu übertragenden Daten schreiben und klicken Sie dann auf Weiter. 15. Geben Sie auf der Seite Quellabfrage angeben die folgende Abfrage in das Feld SQLAnweisung ein: Select ProductKey, FullDateAlternateKey, SalesAmount, OrderQuantity from FactResellerSales, DimTime where DimTime.TimeKey = FactResellerSales.OrderDateKey 16. Klicken Sie auf Weiter und klicken Sie dann in der Dropdownliste Ziel auf [Einfache Datenbank].[Erster Cube].[Verkäufe]. Tipp Sie müssen das Dialogfeld u.U. vergrößern und die Spalte Ziel verbreitern, um den gesamten Tabellennamen lesen zu können. 17. Klicken Sie in der Spalte Zuordnung auf Bearbeiten und klicken Sie dann im Dialogfeld Spaltenzuordnungen bei allen Quellspalten jeweils in das Feld Ziel, um die in der nachfolgenden Tabelle angegebene Zielspalte auszuwählen: Quelle Ziel ProductKey FS_Produkt FullDateAlternateKey FS_Datum SalesAmount Umsatzbetrag OrderQuantity Verkaufte_Stückzahl Ihr Bildschirm sollte nun wie in Abbildung 3.17 aussehen. 18. Klicken Sie auf OK, um das Dialogfeld Spaltenzuordnungen zu schließen, dann auf Weiter und anschließend zwei Mal auf Fertig stellen. Nach Beendigung des Vorgangs klicken Sie auf Schließen. Jacobson, Misner, Consulting, Microsoft SQL Server 2005 Analysis Services, © 2006 Microsoft Press Deutschland, ISBN 3-86645-560-7 74 Teil A: Einführung in Analysis Services Abbildung 3.17 Die Spaltenzuordnungen für die Dimension Verkäufe Die Datenbank Einfache Datenbank enthält jetzt Daten. Die Zeitdimensionstabelle Erster Cube.Datum wurde vom Schemagenerierungs-Assistenten automatisch mit Daten gefüllt. Sie haben zwei Exportaufträge erstellt, mit denen die Tabellen Erster Cube.Produkt und Erster Cube.Verkäufe mit Daten aus ähnlichen Tabellen der Datenbank SSAS Step by Step DW gefüllt wurden. Diese Daten wurden bislang aber noch nicht in den Cube geladen. Sie werden dieses Ziel in der nächsten Übung erreichen. Einen Cube verarbeiten und durchsuchen Die Verarbeitung einer Dimension und die Verarbeitung eines Cubes sind zwei verschiedene Aufgaben. Bei der Verarbeitung einer Dimension werden die Daten von Analysis Services aus den Dimensionstabellen gelesen und eine auf den einzelnen Attributen basierende Zuordnung der Dimension erstellt. Innerhalb der Zuordnung ist jeder Wert in einer Dimensionsspalte ein Attributelement, das in einer zweistufigen Attributhierarchie für die Dimension gespeichert wird. Nehmen wir beispielsweise an, Washington und Oregon sind Elemente des Attributs State in der Dimension Geography. In der Zuordnung werden diese Elemente in der Attributhierarchie State wie folgt gespeichert: All Washington und All Oregon. Da jedes Element einer Attributhierarchie in zwei Ebenen der Dimensionszuordnung gespeichert wird, können Analysis Services anhand der Zuordnung rasch Beziehungen zwischen Elementen finden, wenn der Cube abgefragt ist. Natürlich ist die Dimensionszuordnung komprimiert und sehr effizient. Bei der Verarbeitung eines Cubes werden die Dimensionszuordnungen aller im Cube verwendeten Dimensionen von Analysis Services zu einer multidimensionalen Cubezuordnung kombiniert. Dann werden die Detaildatensätze aus der Faktentabelle gelesen und die Dateiwerte im Datenspeicherbereich gespeichert. Der Datenspeicherbereich ist Jacobson, Misner, Consulting, Microsoft SQL Server 2005 Analysis Services, © 2006 Microsoft Press Deutschland, ISBN 3-86645-560-7 Kapitel 3: Einen Cube erstellen 75 effizient strukturiert und belegt für Schlüsselkombinationen, die keinen Wert enthalten, keinen Speicherplatz. Einen Cube bereitstellen und verarbeiten Wenn Sie ein Projekt auf Ihrem Arbeitsplatzcomputer bearbeiten, werden Projektmappendateien, Projektdateien, XML-basierte Definitionsdateien für Cubes und Dimensionen auf dem lokalen Festplattenlaufwerk gespeichert. Die Dateien auf dem Arbeitsplatzcomputer reichen zum Durchsuchen eines Cubes nicht aus. Sie müssen diese Dateien auf dem Analysis-Server bereitstellen, wo sie verarbeitet und in den Speicher eingelesen werden können. Die erforderlichen Dateien können auf verschiedene Weisen auf den Analysis-Server verschoben werden, die Sie in Kapitel 13 erfahren werden. In diesem Kapitel werden Sie das Projekt mithilfe von Visual Studio bereitstellen. Bei der Verarbeitung eines Cubes verarbeitet der Analysis-Server automatisch alle Dimensionen, die im Cube verwendet werden und noch nicht verarbeitet wurden. Daher müssen Sie zur Verarbeitung eines Cubes und aller darin enthaltenen Dimensionen nur einen Befehl ausführen. In der folgenden Übung stellen Sie das Projekt Erster Cube auf dem Analysis-Server bereit, wo es verarbeitet und zur Anzeige zur Verfügung gestellt wird. Ein Analysis Services-Projekt bereitstellen und verarbeiten 1. Klicken Sie in Visual Studio im Projektmappen-Explorer mit der rechten Maustaste auf das Projekt Erster Cube und klicken Sie dann auf Bereitstellen. Nach Abschluss der Bereitstellung sieht das Fenster Bereitstellungsstatus wie in Abbildung 3.18 aus. Abbildung 3.18 Unten rechts wird der Bereitstellungsstatus angezeigt Jacobson, Misner, Consulting, Microsoft SQL Server 2005 Analysis Services, © 2006 Microsoft Press Deutschland, ISBN 3-86645-560-7 76 Teil A: Einführung in Analysis Services Im Fenster Bereitstellungsstatus können Sie die aktuelle Aktion, die im Rahmen des Bereitstellungsvorgangs ausgeführt wird, überwachen. In diesem Fenster wird ein Protokoll der einzelnen Aktionen angezeigt. Das Protokoll enthält jeweils eine Gruppe von Einträgen für jede verarbeitete Dimension. Während der Verarbeitung des Cubes wird eine entsprechende Gruppe von Einträgen in das Protokoll eingefügt. 2. Bei der Bereitstellung über Visual Studio werden standardmäßig auch die Dimensionen und Cubes verarbeitet, wenn sie zum ersten Mal auf den Analysis-Server verschoben werden. Wenn Sie einen Cube verarbeiten, werden von Analysis Services die Detailwerte aus der Faktentabelle in proprietäre Datenstrukturen kopiert. Aggregierte Werte werden nur dann gespeichert, wenn Sie Aggregationen entwerfen. Sie lernen dies in Kapitel 7 »Aggregationen und Hierarchien entwerfen«. Bei einem kleinen Cube wie hier, können Sie den Cube durchsuchen, obwohl keine Aggregationen vorhanden sind. 3. Schließen Sie das Fenster Bereitstellungsstatus. Einen Cube durchsuchen Der Cube-Designer von Visual Studio stellt einen Browser zum Betrachten von Cubes zur Verfügung. Dieser Browser ist nicht für Benutzer im geschäftlichen Bereich gedacht, sondern für Entwickler von Cubes, damit diese die Cubewerte einfach testen und validieren können, nachdem der Cube verarbeitet wurde. Wenn der Cube-Browser zum ersten Mal geöffnet wird, wird eine leere Datentabelle angezeigt. Um den Cube durchsuchen zu können, ziehen Sie Measure- und Dimensionsobjekte in dieses Raster. In der folgenden Übung lernen Sie, wie Sie Cubedaten durchsuchen. Einen Cube durchsuchen 1. Klicken Sie auf die Registerkarte Browser. Der Cube-Browser sollte wie in Abbildung 3.19 aussehen. 2. Ziehen Sie das Objekt Measures aus der Cube-Metadatenstruktur im linken Fensterbereich in den Rasterbereich, der mit Gesamtsummen oder Detailfelder hierher ziehen beschriftet ist. Die Werte Umsatzbetrag und Verkaufte Stückzahl im Raster repräsentieren die Gesamtsumme dieser beiden Measures im Cube. Diese Werte entsprechen dem Einsatz der Funktion Sum in jeder Measurespalte der Faktentabelle zur Berechnung der Gesamtsumme. Sie können einzelne Measures in das Raster ziehen, nachdem Sie das Objekt Measures in der Cube-Metadatenstruktur erweitert haben. Wenn Sie das Objekt Measures in das Raster ziehen, werden alle Measures auf einmal dem Raster hinzugefügt. Jacobson, Misner, Consulting, Microsoft SQL Server 2005 Analysis Services, © 2006 Microsoft Press Deutschland, ISBN 3-86645-560-7 Kapitel 3: Einen Cube erstellen 77 Abbildung 3.19 Die Registerkarte Browser mit leerem Rasterbereich 3. Erweitern Sie in der Cube-Metadatenstruktur das Objekt Produkt und ziehen Sie dann das Attribut Produkt in den Bereich des Rasters, das die Beschriftung Zeilenfelder hierher ziehen enthält. Diese Platzierung des Attributs Produkt im Raster wird auch Platzierung von Produkt auf der Zeilenachse genannt. 4. Erweitern Sie in der Cube-Metadatenstruktur das Objekt Datum und ziehen Sie dann die Hierarchie Jahr - Quartal - Monat - Datum in den Rasterbereich mit der Beschriftung Spaltenfelder hierher ziehen. Dieser Schritt wird auch als Platzierung der gewählten Hierarchie auf der Spaltenachse bezeichnet. 5. Klicken Sie auf das Pluszeichen neben Kalender 2002, um das Measure der einzelnen Quartale im Jahr 2002 anzuzeigen. Ihr Bildschirm sollte wie in Abbildung 3.20 aussehen. Jacobson, Misner, Consulting, Microsoft SQL Server 2005 Analysis Services, © 2006 Microsoft Press Deutschland, ISBN 3-86645-560-7 78 Teil A: Einführung in Analysis Services Abbildung 3.20 Im Rasterbereich werden die Daten des Umsatzcubes angezeigt 6. Klicken Sie im Menü Datei auf Projekt schließen. Gratulation! Sie haben Ihren ersten Cube erfolgreich erstellt und durchsucht. Sie werden in späteren Kapiteln mehr über das Durchsuchen von Cubes erfahren. Mithilfe des Cube-Assistenten und der Vorlagen, die in Analysis Services zur Verfügung stehen, können Sie einen Cube unabhängig von einer vorhandenen Datenquelle entwerfen. Die Cubes und Dimensionen, die Sie mit diesem Assistenten erstellen, entsprechen möglicherweise nicht genau Ihren Anforderungen. Sie können die Cube- und Dimensionsstruktur modifizieren, indem Sie Objekte löschen oder Eigenschaften ändern. Sobald Sie diese Änderungen vorgenommen haben, können Sie zur Vorbereitung der Cubeverarbeitung mit dem Schemagenerierungs-Assistenten und dem SQL Server-Import/ Export-Assistenten Tabellen erzeugen und diese Tabellen mit Daten füllen. Schnellübersicht Um … machen Sie Folgendes: ein neues Analysis ServicesProjekt zu beginnen, Starten Sie in Business Intelligence Development Studio (Visual Studio) ein neues Projekt und wählen Sie im Ordner Business IntelligenceProjekte die Vorlage Analysis Services-Projekt. Geben Sie einen Namen für das Projekt und die Projektmappe ein und wählen Sie einen Speicherort für die Projektmappe aus. einen Cube ohne Datenquelle mithilfe einer Vorlage zu erstellen, Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf den Ordner Cubes, wählen Sie Neuer Cube, wählen Sie eine Vorlage aus und wählen Sie dann in der Vorlage die Measures und Dimensionen aus, die in den Cube aufgenommen werden sollen. Jacobson, Misner, Consulting, Microsoft SQL Server 2005 Analysis Services, © 2006 Microsoft Press Deutschland, ISBN 3-86645-560-7 Kapitel 3: Einen Cube erstellen 79 Um … machen Sie Folgendes: ein relationales Schema basierend auf einem Cube zu generieren, der ohne Datenquelle erstellt wurde, Erstellen Sie in Microsoft SQL Server Management Studio eine leere Datenbank. Starten Sie den Schemagenerierungs-Assistenten in Visual Studio, indem Sie diese Option auf der letzten Seite des Cube-Assistenten auswählen, indem Sie auf der Registerkarte Cubestruktur des Cube-Designers auf die Verknüpfung im Diagrammbereich klicken oder indem Sie im Menü Datenbank auf Relationales Schema generieren klicken. Geben Sie im Schemagenerierungs-Assistenten eine Zieldatenbank an und legen Sie die gewünschten Datenbankschemaoptionen fest. einen Cube bereitzustellen und zu verarbeiten, Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf das Analysis Services-Projekt, das den Cube enthält, und klicken Sie dann auf Bereitstellen. einen Cube zu durchsuchen, Doppelklicken Sie im Projektmappen-Explorer auf die .cube-Datei im Ordner Cubes, um den Cube-Designer zu öffnen, und klicken Sie dann auf die Registerkarte Browser. Jacobson, Misner, Consulting, Microsoft SQL Server 2005 Analysis Services, © 2006 Microsoft Press Deutschland, ISBN 3-86645-560-7 Jacobson, Misner, Consulting, Microsoft SQL Server 2005 Analysis Services, © 2006 Microsoft Press Deutschland, ISBN 3-86645-560-7