Das Unified Dimensional Model (UDM). Eine Einführung. Autoren: Paul Sanders, Microsoft Corporation Veröffentlichung: März 2005 Zusammenfassung: Dieses Dokument bietet eine Einführung für das Unified Dimensional Model (UDM), einschließlich des grundlegenden Endbenutzer-Modells, und einen kurzen Überblick der Architektur und Sicherheits-Modelle. Copyright Dies ist ein vorläufiges Dokument und kann vor der endgültigen kommerziellen Veröffentlichung der hier beschriebenen Software noch wesentliche Veränderungen erfahren. Die in diesem Dokument enthaltenen Informationen repräsentieren die augenblickliche Meinung der Microsoft Corporation zu den diskutierten Themen zum Zeitpunkt der Publikation. Da Microsoft den wechselnden Ansprüchen des Marktes entsprechen muss, sollte dieses Dokument nicht als eine Haftung seitens Microsoft interpretiert werden, und Microsoft kann nicht für die Genauigkeit jeglicher gegebener Information nach dem Datum der Veröffentlichung garantieren. Dieses Whitepaper dient nur der Information. MICROSOFT GIBT KEINE GARANTIEEN, AUSDRÜCKLICHE, ANGEDEUTETE ODER STATUTARISCHE, DIE DIE INFORMATIONEN IN DIESEM DOKUMENT BETREFFEN. Es liegt in der Verantwortung des Benutzers, allen maßgeblichen Urheberrechten zu entsprechen. Kein Teil dieses Dokuments kann reproduziert werden, in einem Verteilersystem gespeichert oder in ein Verteilersystem eingespeist werden, oder in irgend einer Form auf irgend eine Art übertragen werden (elektronisch, mechanisch, durch Photokopieren, Aufnehmen oder ähnliches), ohne Urheberrechte zu verletzten und darf nur geschehen mit einer ausdrücklichen schriftlichen Genehmigung der Microsoft Corporation. Microsoft kann Patente, Patentanmeldungen, Schutzmarken, Urheberrechte oder andere Rechte geistigen Eigentums haben, die in diesem Dokument behandelte Gegenstände betreffen. Soweit nicht eine ausdrückliche schriftliche Lizenzgenehmigung seitens Microsoft vorliegt, gibt die Ausstattung dieses Dokuments Ihnen keinerlei Lizenz über Patente, Schutzmarken, Urheberrechte oder andere geistige Eigentümer. 2005 Microsoft Corporation. Alle Rechte vorbehalten. Microsoft, ActiveX, Visual Basic, Visual C#, Visual Studio, Windows, und Windows Server sind entweder eingetragene Handelsmarken oder Handelsmarken der Microsoft Corporation in den Vereinigten Staaten und/oder anderen Ländern. Die Namen hier erwähnter tatsächlicher Unternehmen oder Produkte können Handelsmarken ihrer entsprechenden Besitzer darstellen. Inhaltsverzeichnis Das Unified Dimensional Model (UDM). Eine Einführung. .................................. 1 Copyright .......................................................................................................... 2 Inhaltsverzeichnis ............................................................................................ i Einführung ........................................................................................................ 1 Grundlegendes Endbenutzermodell .................................................................. 3 Direkter Zugriff auf Datenquellen ..................................................................... 4 Zugriff mittels eines UDM ................................................................................. 6 Über die Grundlagen hinaus .............................................................................. 7 Hierarchien .................................................................................................... 8 Kategorisierung ............................................................................................ 10 Zeitangaben ................................................................................................. 11 Übersetzungen ............................................................................................. 12 Perspektiven ................................................................................................ 12 Attributsemantik ........................................................................................... 13 Key Performance Indicators (KPIs) .................................................................. 13 Leistung .......................................................................................................... 14 Analyse ........................................................................................................... 16 Grundlegende Analyse ................................................................................... 16 Erweiterte Analyse ........................................................................................ 17 Integration mit Data Mining ........................................................................... 18 Der vollendete Kreislauf ................................................................................. 18 Rückschreiben .............................................................................................. 19 Aktionen ...................................................................................................... 19 Architektur ..................................................................................................... 19 Proaktives Zwischenspeichern ........................................................................ 22 Sicherheit ....................................................................................................... 22 Gelieferte Technonolgie .................................................................................. 23 i Einführung Ein Endbenutzer, der Informationen direkt von einer Datenquelle – wie z.B. einer ERPDatenbank (Enterprise Resource Planning) - beziehen möchte, sieht sich mit einer Vielzahl von Herausforderungen konfrontiert: Die Inhalte solcher Datenquellen sind sehr häufig schwer verständlich, da sie eher für Systeme und Entwickler entworfen wurden als für Endbenutzer. Informationen, die für Benutzer von Interesse sind, werden gewöhnlich auf verschiedene heterogene Datenquellen verteilt. Auch, wenn der Benutzer sich häufig mit verschiedenen relationalen Datenbanken beschäftigt, muss er die Einzelheiten jeder Datenbank (den verwendeten SQL-Dialekt beispielsweise) verstehen. Schlimmer noch, die Datenquellen können aus verschiedenen Arten bestehen, nicht nur relationalen Datenbanken, sondern auch Dateien und WebDiensten. Während viele Datenquellen entworfen sind, große Mengen von Transaktionsebendetails aufzunehmen, bedürfen die Abfragen, die nötig sind, um geschäftliche Entscheidungen zu treffen, zusammengefasster, aggregierter Information. Mit wachsenden Datenmengen ist die Zeit, die benötigt wird, um für eine interaktive Endbenutzeranalyse solche zusammengefassten Werte zu erhalten, häufig hinderlich. Die Geschäftsregeln sind generell nicht in den Datenquellen enthalten. Die Benutzer sind mit der Interpretation der Daten sich selbst überlassen. 1 Die Rolle eines Unified Dimensional Model (UDM) ist es, als Brücke zwischen dem Benutzer und der Datenquelle zu fungieren. Ein UDM wird für eine oder mehrere physikalische Datenquellen erstellt, und anschließend gibt der Endbenutzer Abfragen an das UDM aus, wobei er eine Vielzahl von Client-Werkzeugen benutzt, wie Microsoft Excel beispielsweise. ClientWerkzeuge Datenquellen Relationale Datenbanken Dateien Webdienste Abbildung 1. Das UDM fungiert als Brücke zwischen Endbenutzer und ihren Daten (für eine vergrößerte Version auf das Bild klicken) Im minimalsten Fall, wenn das UDM nur als dünne Schicht über der Datenquelle liegt, liegen die Vorteile für den Endbenutzer in einem einfacheren, leichter verständlichen Modell der Daten, einer Abschirmung von heterogenen Datenquellen, und verbesserter Geschwindigkeit von zusammengefassten Abfragen. In einigen Szenarien wird ein einfaches UDM wie dieses vollkommen automatisch erstellt. Mit einem höheren Aufwand beim Erstellen eines UDM entsteht zusätzlicher Nutzen aus einer Fülle von Metadaten, die das Modell zur Verfügung stellen kann. Dieses Dokument ist eine Einführung für das UDM. Als erstes wird anhand eines Beispielszenarios das grundlegende Benutzer-Modell eines UDM gezeigt. Dann werden einzelne Aspekte eines solchen Szenarios genauer untersucht, um zu zeigen, wie ein UDM: Es ermöglicht, ein Benutzer-Modell umfassend zu verbessern. 2 2 Abfragen von hoher Geschwindigkeit ermöglicht, um interaktive Analysen auch großer Datenmengen zu unterstützen. Es ermöglicht, dass Geschäftsregeln im Modell erfasst werden, um ergiebigere Analysen zu unterstützen. Rückkopplungen unterstützt, wo Benutzer auf die angezeigten Daten reagieren. Abschließend wird ein kurzer Überblick der Architektur und Sicherheits-Modelle gegeben. Grundlegendes Endbenutzermodell Stellen Sie sich das Beispiel eines Endbenutzer vor, der Verkäufe mit Sollvorgaben verschiedener Zeiträume vergleichen möchte. Die Verkaufsdaten werden in der Sales- und Inventory-Hauptdatenbank gespeichert, die natürlich noch andere zahlreiche Tabellen enthält. Selbst nach dem Finden der relevanten Tabellen stellen wir fest, dass Daten einer einzelnen Einheit, wie Produkt, über verschiedenste Tabellen verstreut sind, und da referenzielle Integrität von der Anwendungslogik verstärkt wird, wurden keine Beziehungen zwischen den Tabellen definiert. Die Sollzahlen sind in der Datenbank einer anderen Anwendung gespeichert. Keine der Datenbanken hat Geschäftsregeln erfasst, wie z.B. die Tatsache, dass beim Vergleichen von Sollvorgaben mit tatsächlichen Verkäufen das Auslieferungsdatum verwendet werden muss, und nicht andere Daten wie etwa das Bestellungsdatum, Fälligkeitsdatum oder geplantes Lieferdatum. 3 Abbildung 2. Datenquellen, die Sales und Sales Quotas enthalten (für eine vergrößerte Version auf das Bild klicken) Direkter Zugriff auf Datenquellen Betrachten Sie zunächst den Fall, bei dem der Endbenutzer auf die Datenquellen direkt zugreift. Ein Beispiel einer mit Hilfe eines Beispielwerkzeugs erstellten Abfrage wird in der folgenden Abbildung veranschaulicht. Abbildung 3. Die Datenquellen direkt abfragen (für eine vergrößerte Version auf das Bild klicken) Bis hier hin haben die Benutzer beachtliche Fortschritte gemacht: Sie haben eine Vielzahl kryptisch benannter Tabellen durchsiebt, um die von Belang herauszufinden. Sie haben die Spalten identifiziert, die zum Verknüpfen der Tabellen verwendet werden sollen. Sie haben die Spalten, die interessante Details enthalten, aus einem Meer von systemorientierten Details gefischt. Zum Beispiel sind unter den elf Spalten der Tabellen, die Produktkategoriendetails enthalten, nur zwei Namensspalten für den Benutzer von tatsächlicher Bedeutung. 4 4 Der Benutzer muss nun entscheiden, wo eher äußere oder innere Verknüpfungen anzuwenden sind, und wie die Details zu gruppieren sind, um die richtigen Aggregate zu erhalten. Allerdings kommt das Schlimmste noch. Wie kann der Benutzer Daten aus anderen Datenquellen einbeziehen? Selbst, wenn eine der Datenbanken verteilte Abfragen unterstützt, ist den meisten Benutzern nicht möglich, die erforderliche Abfrage zu entwerfen, und Werkzeuge zieren sich meist, den Benutzer dabei zu unterstützen. SELECT Quotas.QuotaAmount, Quotas.EmployeeId, ... FROM OPENROWSET('SQLOLEDB','seattle1'; 'Sales';'MyPass', 'SELECT * FROM Forecasts.dbo.SalesQuota' ) As Quotas Datenquellen wie Web-Dienste stellen eine weitere Hürde für den Benutzer dar; er muss bestimmen, wie Remoteaufrufe getätigt werden müssen, und den zurückgegebenen XML-Code bearbeiten, um ihn mit den anderen Daten zu verknüpfen. Der endgültige Schlag besteht darin, dass die Arbeit, die für eine Abfrage investiert wurde, ('Anzeigen der Verkäufe und Sollvorgaben nach Kategorien’), für die nächste Abfrage neu investiert werden muss ('... und jetzt nach Mitarbeitern'), sowie für jede folgende Abfrage. 5 Zugriff mittels eines UDM Im Kontrast dazu wird nun gezeigt, wie das Erstellen einer Abfrage seitens des Benutzers gestaltet ist, wenn er auf ein einfaches UDM zugreift. Die Benutzeroberfläche stammt aus den von Microsoft SQL Server bereitgestellten Entwicklungs-Werkzeugen. Sie könnte auch aus anderen Client-Werkzeugen stammen, wie etwa Office Excel oder Office Web Components (OWC), oder einer Vielzahl von anderen Berichterstellungs- und Analyse-Werkzeugen, die das UDM unterstützen. Abbildung 4. Ein einfaches UDM (für eine vergrößerte Version auf das Bild klicken) Die Baumansicht links zeigt den Inhalt des UDMs. Beachten Sie, dass: Nur benutzerorientierte, relevante Elemente gezeigt werden. Die 'Systemspalten' wie Rowguid oder das letzte Änderungsdatum, sind nicht sichtbar. Die verwendeten Namen bekannte Namen sind und nicht von den entwicklerorientierten Benennungskonventionen der zu Grunde liegenden Datenbank stammen. Das UDM gruppiert auch alle Attribute jeder Geschäftseinheit (wie Product oder Employee) in separate 'Dimensionen'. Der Benutzer kann sich so auf Product Color, Subcategory, und Category in diesem Beispiel beziehen, ohne Verbindungen zwischen den vielen beteiligten Tabellen herstellen zu müssen. Die Spalten, die Transaktionswerte oder Messungen darstellen, die ein Benutzer üblicherweise für die Aggregation benötigt, wie z. B. Sales Amount oder Quota, werden dann als Measures dargestellt. Die Methode, Daten als Measures und Dimensionen darzustellen, wird als Dimensionsmodellierung bezeichnet, und hat sich in der Branche als ein erfolgreiches Modell für die Endbenutzerverständlichkeit bewährt. 6 6 Die rechte Seite des Diagramms zeigt die in der aktuellen Abfrage enthaltenen Elemente. In diesem Fall erstellte der Benutzer die Abfrage 'Verkäufe und Sollvorgaben nach Produktkategorie' einfach, indem er die drei relevanten Elemente aus der Baumansicht zog. Es war nicht nötig, dass der Benutzer die für den Zugriff auf die zwei verschiedenen Datenquellen benötigten Details angab, und die nötigen Verknüpfungen zwischen den betroffenen Tabellen herstellte. Das Modell erstellt die einfache zu verwendende Formatierung durch Voreinstellung (wie den Gebrauch von Währungszeichen). Eine reichhaltigere Formatierung, in der bedingte Formatierung enthalten ist, kann auch definiert werden, (so kann beispielsweise ein Wert, der unterhalb eines bestimmten Schwellenwertes liegt, rot dargestellt werden). Das selbe Modell unterstützt eine Vielzahl von Abfragen. So können Zahlen beispielsweise nach Mitarbeitern eingeteilt werden, indem ein Attribut aus der Mitarbeiterdimension gezogen wird. Über die Grundlagen hinaus Während das vorhergegangene Beispiel zeigte, wie auch ein einfaches UDM das grundlegende Untersuchen von Daten erheblich vereinfachen kann, so gibt es doch weitere Probleme beim Bereitstellen von Daten für den Endbenutzer. Beispiele: Ein UDM, das viele verschiedene Abfragetypen von verschiedenen Nutzern unterstützt, kann beachtlich groß werden. Wie können wir absichern, dass ein Nutzer, der bestimmte Daten benötigt, nicht von unwichtigen Informationen überwältigt wird? Wie kommen wir dem Wunsch weltweiter Nutzer, Berichte in ihrer Muttersprache einzusehen, entgegen? Wie können wir die Fragestellungen nach verschiedenen Zeiträumen vereinfachen? (beispielsweise, 'zeige die Verkäufe im Vergleich zum selben Zeitraum letztes Jahr'). Dieser Abschnitt untersucht einige der Fragen, um zu zeigen, wie das UDM erweiterte Datenuntersuchungen unterstützt. 7 Hierarchien Wenn auch die Konsolidierung aller Attribute einer Einheit in eine Dimension das Modell erheblich benutzerfreundlicher gestaltet, so gibt es doch zusätzliche Verbindungen, die durch eine einfache Liste nicht ausgedrückt werden können. Im vorherigen Beispiel wurde mit den Category-, SubCategory- und SKU-Ebenen eine der Hierarchien erstellt, in denen Produkte organisiert werden können. Da Benutzer häufig auf solchen Hierarchien basierende Analysen ausführen wollen, beispielsweise das Anzeigen der Summen auf Category-Ebene, dann per Drilldown auf die Sub-Category-Ebene und schließlich zur untersten SKU-Ebene, ermöglicht das UDM die Definition solcher Hierarchien. Jede Hierarchie stellt lediglich eine Sequenz von Attributen dar, die für Abfragen verwendet werden können, um solche Drilldown- und Drill-Up-Szenarien zu erleichtern. Im Folgenden findet sich ein Beispiel dafür, wie Hierarchien in einer Endbenutzeroberfläche angezeigt werden können. Das Modell enthält verschiedene Hierarchien, in denen Produkte organisiert sind. Die Abfrage ('zeige Verkäufe und Sollvorgaben nach Produktkategorie, dann nach Unterkategorie') wurde einfach durch das Ziehen der Products By Category-Hierarchie erstellt, und durch Doppelklicken die Bike-Kategorie erweitert, um detailliertere Informationen einzusehen. Abbildung 5. Ein UDM mit Hierarchien (für eine vergrößerte Version auf das Bild klicken) 8 8 Das UDM erledigt das Navigieren zwischen den Hierarchie-Ebenen und kümmert sich, wie in diesem Fall, darum, dass Sollvorgaben nicht auf der SubCategory-Ebene, sondern nur auf der Category-Ebene verfügbar sind. Eine besondere Art der Hierarchie ist die Eltern-Kind- Hierarchie, in der Einheiten enthalten sind, die verwickelte Beziehungen zu sich selbst haben. In der nächsten Abbildung ist Employee-Dimension mit der Hierarchie Employees By Organization Structure versehen. Der Gebrauch dieser Hierarchie ermöglicht einfaches Navigieren durch die Eltern-Kind-Beziehung und eine Analyse der aufgezeigten Werte. Die Sollvorgabe für den Verkaufsleiter Charles Marshall beinhaltet die Summe aller Sollvorgaben seiner Mitarbeiter, sowie aller Sollvorgaben, die ihm direkt zugeordnet sind. Abbildung 6. Eine Eltern-Kind-Hierarchie (für eine vergrößerte Version auf das Bild klicken) 9 Kategorisierung Es ist üblich, dass Nutzer ihren Daten Kategorisierungen zuweisen. Beispiel: 'Diese Attribute beinhalten alle persönliche Details eines Mitarbeiters; jenes Attribut beinhaltet eine E-Mail-Adresse'. Das UDM stellt zwei Mechanismen zu Verfügung, die speziell dafür gemacht sind, es den Endbenutzer-Werkzeugen zu ermöglichen, einen Mehrwert, basierend auf den Kategorisierungen, beizusteuern, sowie den Bedeutungen der präsentierten Daten: Dimensionen, Attribute und andere Objekte können in semantisch aussagekräftige Kategorien gefasst werden, die ein intelligenteres Vorhegen innerhalb eines ClientWerkzeugs ermöglichen. So kann ein Attribut beispielsweise als URL markiert werden, worauf hin der Bericht das Navigieren auf Basis der URL ermöglicht. Ein anderes Attribut kann als E-Mail-Adresse markiert werden, womit ein Berichtersteller automatisch eine neue E-Mail für eine bestimmte Benutzeraktion öffnen kann. Measures, Hierarchien und andere Objekte können in für den Benutzer aussagekräftige Ordner gruppiert werden, was es dem Berichterstellungs-Werkzeug ermöglicht, eine große Anzahl von Attributen auf überschaubare Art darzustellen. So kann es beispielsweise eine Gruppe von Attributen 'Kunden\Demographie' geben. 10 10 Zeitangaben Zeitangaben werden gewöhnlich in der zu Grunde liegenden Datenquelle einfach durch die Verwendung von DataTime- oder Date-Datentypen erfasst. Während Benutzer mit SQL-Erfahrung (oder mit Erfahrungen in XPath im Zusammenhang mit Webdiensten) die benötigten Teile (wie beispielsweise die Summe von Daten pro Jahr) extrahieren können, ist es sehr schwierig, Fragen auf Basis anderer Zeitangaben zu stellen, wie z. B. Anzeigen von Verkäufen nach Tagen oder Wochen oder Anzeigen nach Geschäftsjahr, beginnend am 1. Juli. Das UDM aber verfügt über eingebaute Zeitangaben, einschließlich verschiedener Kalender: regulärer Kalender Geschäftskalender Berichtskalender ('445' usw.) Produktionskalender (13 Zeiträume) ISO8601-Kalender Auf diese Art kann das Modell eine Zeitdimension beinhalten, die eine reichhaltige Anzahl von Attributen bietet, um die Details eines jeden Tages zu definieren. Im folgenden Beispiel entschied sich der Benutzer, die Verkäufe und Sollvorgaben des Geschäftsjahrs 2001 einzusehen. Es müssen nur die relevanten Elemente aus dem Baum in den Filterbereich gezogen werden. Einerseits kann das UDM die Auswahl in einen Datumsbereich übersetzen, andererseits kennt es die Geschäftsregel, dass es die zu diesem Datum ausgelieferten Bestellungen in die Abfrage aufzunehmen hat, und nicht die fälligen oder bestellten. Natürlich kann das Fälligkeitsdatum, wenn relevant, in die Abfrage eingeschlossen werden. Die richtige Verknüpfung wird implizit vom UDM erstellt. 11 Abbildung 7. Ein UDM für Zeitangaben (für eine vergrößerte Version auf das Bild klicken) Weiterhin bietet das UDM spezielle Unterstützung für die Beantwortung häufig gestellter zeitbezogener Fragen (wie z.B. der Vergleich von Zeiträumen — 'Vergleiche diesen Monat mit dem selben Monat im letzten Jahr '). Übersetzungen In den vorhergegangenen Beispielen wurden sowohl die Inhalte der Modelle als auch die Daten in englisch angezeigt. Wäre das die einzige Möglichkeit, stellte es ein Problem dar für Organisationen mit internationalen Nutzern. Deshalb ermöglich es das UDM, dass Metadaten in jeder beliebigen Sprache zur Verfügung gestellt werden können. Ein Client, der mittels eines bestimmten Gebietsschemas eine Verbindung herstellt, sähe dann die Metadaten in der entsprechenden Sprache. Weiterhin kann das Modell Übersetzungen der Daten liefern. Ein Attribut kann verschiedenen Elementen in der Datenquelle zugeordnet werden und so die Übersetzungen in Verschiedenen Sprachen ermöglichen. Wenn beispielsweise mit Hilfe des in den vorherigen Beispielen verwendeten Werkzeugs die Verbindung von einem französischen Client herstellt wird, werden das UDM und die Abfrageergebnisse, wie im unteren Beispiel dargestellt, in Französisch angezeigt. Abbildung 8. Das UDM in den Augen eines französischen Benutzers (für eine vergrößerte Version auf das Bild klicken) Perspektiven Während das hier verwendete Beispiel-Modell von eher bescheidener Größe ist, können in der Praxis Modelle von weit größerem Umfang definiert werden, die Dutzende von Measures und Dimensionen enthalten können, wobei jede Dimension wiederum Dutzende oder Hunderte von Attributen enthält. Im Allgemeinen ist es jedoch für Benutzer, die eine bestimmte Aufgabe ausführen, nicht nötig, dass sie das gesamte Modell einsehen. Es ist nötig, dass spezielle Sichten des gesamten Modells definiert werden können, damit Benutzer nicht von seiner Größe überwältigt werden. 12 12 Das UDM stellt diese Ansichten durch Perspektiven zur Verfügung. Ein UDM kann eine Vielzahl von Perspektiven haben, von denen jede einzelne nur den bestimmten Teil des Modells zeigt (Measures, Dimensionen, Attribute u.s.w.) der für eine bestimmte Gruppe von Benutzern von Relevanz ist. Die einzelnen Perspektiven können dann den Benutzersicherheitsrollen zugeordnet werden, die jene Benutzer, die diese Perspektive einsehen dürfen, definieren. So kann beispielsweise eine 'Seattle Inventory'-Perspektive definiert werden, die nur Measures der Inventory-Measure-Gruppe enthält und die 'Warehouse By Location'Hierarchie verbirgt und Seattle als Standard für City erklärt. Attributsemantik Ein UDM stellt für jedes Attribut zusätzliche Semantik bereit, die darauf ausgerichtet ist, Informationen optimiert zur Verfügung zu stellen. Im Folgenden einige Beispiele: Namen kontra Schlüssel: Wenn man eine relationale Datenbank betrachtet, ist es nicht sofort ersichtlich, dass es sich bei EmployeeID um einen bedeutungslosen, eindeutigen, vom System erstellten Schlüssel handelt. Das UDM aber ermöglicht beim Attribut Empoyee sowohl die Verwendung eines Schlüssels (die eindeutige EmlpoyeeID), als auch eines Namens (in diesem Fall die Verkettung von FirstName und LastName). Mit einer Abfrage, z. B. Anzeigen der Mitarbeiter, werden nun Mitarbeiter mit demselben Namen ordnungsgemäß unterschieden. Dem Benutzer wird jedoch der aussagekräftige Name angezeigt. Sortierung: Es ist manchmal der Fall, dass die Werte von Attributen in einer festen Reihenfolge angezeigt werden müssen, die nicht in einer einfachen alphabetischen oder numerischen Reihenfolge besteht. Beispiele: Die Wochentage werden als 'Sonntag', 'Montag', 'Dienstag' u.s.w. dargestellt. Prioritäten werden dargestellt als 'Hoch', 'Mittel’, 'Niedrig'. Das UDM ermöglicht es, Standardreihenfolgen zu definieren, die dem Rechnung tragen. Diskretisierung: Bei numerischen Attributen ist das Anzeigen jedes einzelnen Attributwertes häufig nicht sinnvoll. Beispielsweise ist das Anzeigen Hunderter verschiedener Preise bei der Abfrage 'Sales by Product Price', ( $9.97, $10.05, $10.10,...) weniger sinnvoll als die anzeige der Verkäufe nach Preisbereich ( <$10, $10 - $15,...). Das UDM ermöglicht die Diskretisierung von Attributen in solche Bereiche mit Hilfe unterschiedlicher Kriterien. Key Performance Indicators (KPIs) In vielen Fällen definieren Unternehmen Key Performance Indicators (KPIs), die wichtige Metriken zur Messung der Geschäftsintegrität darstellen. Das UDM ermöglicht das Definieren solcher KPIs, die für eine weitaus verständlichere Gruppierung und Darstellung von Daten sorgen. Jeder KPI eines UDMs definiert bis zu vier Ausdrücke für bestimmte Leistungsmetriken, z. B. Sales-Ebene: 13 Der tatsächliche Wert. Der Zielwert. Der Status. Ein normalisierter Wert zwischen -1 und 1, der den Status zwischen dem tatsächlichen Wert und dem Zielwert anzeigt (-1 steht für 'sehr schlecht', 1 steht für 'sehr gut'). Der Verlauf. Ein normalisierter Wert zwischen -1 und 1, der den Verlauf über einen Zeitraum darstellt (-1 steht für 'wird sehr schlecht', 1 steht für 'wird sehr gut'). Zusätzlich kann ein KPI eine empfohlene Graphik definieren, wie die einer Ampel, um Status und Verläufe wie 'gut, durchschnittlich, schlecht' anzuzeigen. Die Verwendung von KPIs erlaubt es Client-Werkzeugen, verwandte Measures in einer Art anzuzeigen, die dem Benutzer das Verständnis sehr erleichtert. Die untere Abbildung zeigt, wie drei KPIs, die in Anzeigeordnern geordnet sind, von einem Client-Werkzeug angezeigt werden können. Abbildung 9. KPIs (für eine vergrößerte Version auf das Bild klicken) Leistung Das interaktive Durchsuchen seitens des Endbenutzers erfordert schnelle Antwortzeiten. Aufgrund sehr großer Datenmengen, die häufig untersucht werden müssen, stellt die Geschwindigkeit ein Problem dar. Um die Leistung zu verbessern, stellt das UDM Dienste zum Zwischenspeichern bereit. Es werden potentiell sowohl die aus der zu Grunde liegenden Datenbank gelesenen detaillierten Daten zwischengespeichert, als auch im Voraus aus diesen Daten berechnete aggregierte Werte. Die Verwendung zwischengespeicherter Werte kann jedoch einen gewissen Grad von „Abgestandenheit“ der Daten bedeuten. Die Umstände in Unternehmen diktieren, wie aktuell die Informationen sein müssen. Es kann wichtig sein, dass manche Daten jeder Zeit mit den aktuellsten Zahlen angezeigt werden, während es für die Zahlen anderer Daten ausreichend ist, wenn sie zwei Stunden, zwei Tage oder drei Tage alt sind. 14 14 Um diesem Umstand zu entsprechen, bietet das UDM zwei Möglichkeiten: die explizite Verwaltung des Zwischenspeichers (beispielsweise kann ein Plan definiert werden, um den Zwischenspeicher täglich um zwei Uhr nachts zu aktualisieren), oder die transparente Verwaltung durch 'proaktives Zwischenspeichern'. Der Benutzer kann hier bestimmen, wie aktuell die Daten sein müssen (einschließlich der Möglichkeit, sie jeder Zeit aktuell zu halten), und das UDM liefert eine automatische Erstellung und Verwaltung des Zwischenspeichers, um eine schnellstmögliche Abfragebeantwortung zu bieten, wobei die Richtlinien zur Steuerung des Datenflusses widergespiegelt werden. 15 Analyse In den vorigen Abschnitten wurde behandelt, wie das UDM das interaktive Durchsuchen von Daten unterstützt. Es ist jedoch nicht ausreichend, die Informationen aus den zugrunde liegenden Datenquellen einfach zur Verfügung zu stellen, selbst in verständlicher und einfach verwendbarer Form, wenn in den Benutzermodellen bedeutende Geschäftslogik enthalten sein soll. Deshalb bietet das UDM die Möglichkeit, sowohl einfache, als auch komplexe Berechnungen der Daten zu definieren. Grundlegende Analyse Am Ende einer einfachen Abfrage stehen für gewöhnlich aggregierte Daten ('zeige die Verkäufe nach Kategorie', und nicht 'zeige jede einzelne Verkaufsauftragszeile'). Wie aber verschiedene Measures aggregieren? Beispielsweise findet sich nichts in den zu Grunde liegenden relationalen Daten, das besagt, dass es zwar Sinn macht, 'Sales Amount' zu summieren, von 'Unit Price' aber der Durchschnitt errechnet werden sollte. Das UDM liefert diese Semantik. Die Aggregationsmethode kann anhand einer Vielzahl von Schemas definiert werden: Es kann eine einfache Aggregationsfunktion, bestehend aus Sum, Count, Distinct Count, Max oder Min verwendet werden. Die Aggregation kann als semi-additiv definiert werden. Hierbei wird eine einfache Funktion wie 'Sum' für alle Dimensionen außer der Zeitdimension definiert, für die 'Last period' verwendet wird. Während beispielsweise die Inventory-Ebene pro Produkt-Kategorie summiert werden kann, stellt die Summe der Inventory-Ebenen eines jeden Tages nicht die Inventory-Ebene eines Monats dar; die Inventory-Ebene eines Monats wird dargetsellt durch die Inventory-Ebene des letzten Tages im Monat. Die Aggregation kann auf dem Kontentyp basieren, beispielsweise Income kontra Expense. Die Aggregation kann benutzerdefiniert gestaltet werden, um jedem Anspruch gerecht zu werden. Ein UDM kann auch berechnete Elemente enthalten. Diese Elemente stehen in keiner direkten Verbindung zu den Quelldaten, sondern sind von den Daten abgeleitet. So kann z.B. ein berechnetes Element, Variance, definiert werden, um die Differenz zwischen 'Sales' and 'Quota' zu errechnen. Auf ähnliche Art kann ein UDM Einheiten definieren, die für den Benutzer von Interesse sind, wie die zehn besten Kunden etwa (nach Verkaufsvolumen), oder die wichtigsten Produkte. Diese Gruppen können dann einfach zur Beschränkung des Umfangs einer Abfrage auf die Einheiten verwendet werden. 16 16 Erweiterte Analyse Selbst bei der Betrachtung des einfachen Beispiels, das hier dargestellt wird, ist es schnell ersichtlich, dass die für Benutzer erforderlichen Berechnungen weit über das einfache Variance-Beispiel hinausgehen. Beispiel: 'Zeige den Durchschnitt der herausragendsten 3 Monate für jeden Zeitraum' 'Im welchem Verhältnis steht der Jahreszuwachs des laufenden Jahres im Vergleich zum gleichen Zeitraum im letzten Jahr?' 'Verkäufe werden in der Basiswährung berichtet. Rückkonvertieren der Verkäufe in die ursprüngliche Währung mit Hilfe des zum Zeitpunkt des Verkaufs gültigen durchschnittlichen Wechselkurses.' 'Berechnen der im Haushaltsplan vorgesehen Verkäufe nach Kategorien für folgendes Jahr mit zusätzlichen 10 % im Vergleich zum laufenden Jahr sowie Zuordnen dieser Verkäufe zu jedem Produkt auf Basis der relativen Durchschnittsverkäufe der letzten 3 Jahre. Das UDM bietet ein reiches Modell für die Definition solcher Berechnungen. Es ähnelt einem mehrdimensionalen Arbeitsblatt, in dem der Wert einer Zelle (z.B. AverageSales für die Kategorie 'Bike' im Jahr '2003'), basierend auf dem Wert anderer Zellen berechnet werden kann. Aber auch dieses Beispiel kann Berechnungen im UDM nicht genau beschreiben. Das liegt teilweise daran, dass der Inhalt einer Zelle nicht nur auf dem Wert einer anderen Zelle berechnet wird, sondern auch basierend darauf, was der Wert dort darstellte. Daher können gleichzeitige Formeln unterstützt werden; so wird der Gewinn aus Einnahmen minus Ausgaben abgeleitet, aber der (in den Ausgaben enthaltene) Bonus hingegen wird vom Gewinn abgeleitet. Neben der leistungsstarken MDX-Sprache (Multi Dimensional Expressions), die genau für den Entwurf solcher Berechnungen geschaffen wurde, unterstützt das UDM Integration mit .Net. Diese Integration ermöglicht es, dass gespeicherte Prozeduren und Funktionen in jeder überprüfbaren .NET-Sprache (wie C#.NET oder Visual Basic.NET) geschrieben, und anschließend von MDX für die Berechnungen aufgerufen werden. Der Client ist von den Details solcher Berechnungen selbstverständlich abgeschottet. Für Clientanwendungen verfügt das Modell nun einfach über eine größere Anzahl von nützlichen Measures. Im unteren Beispiel sieht der Benutzer verschiedene berechnete Measures, die, basierend auf Verkäufen, die profitabelsten in den USA verkauften Produkte anzeigen. 17 Abbildung 10. Ein UDM, das Analyse einbezieht (für eine vergrößerte Version auf das Bild klicken) Integration mit Data Mining Das Anzeigen von Daten in reicher, leicht verständlicher Form ist extrem nützlich; aber wie sieht es damit aus, Informationen aus diesen Daten zu beziehen? Das UDM ist eng mit der Data Mining-Technologie integriert, um Data Mining zu ermöglichen und die ermittelten Muster dann für Vorhersagen zu nutzen. Der vollendete Kreislauf Die Einsicht von Daten führt beim Benutzer häufig zu weitergehenden Fragen, oder zu dem Bedürfnis, zu handeln. Beispiele: 'Welche Verkäufe genau fließen in diese Zahl mit ein?' 'Diese Sollvorgabe ist zu niedrig – ich muss sie erhöhen.' 'Das sieht seltsam aus – ich möchte diese Zahl mit einem Kommentar versehen.' 'Welche Einzelheiten zu dieser Promotion stehen auf unserer Web-Site?' Deshalb ist es nicht ausreichend, die Daten dem Benutzer in leicht verständlicher Art zu präsentieren. Es ist nötig, dem Benutzer ein Handeln auf Grund der eingesehenen Daten zu ermöglichen. Das UDM unterstützt den Benutzer hier auf zwei Arten: Es werden Änderungen der Daten ermöglicht. Es werden Aktionen zu den Daten ermöglicht. 18 18 Rückschreiben Das UDM ist nicht schreibgeschützt. Weiterhin ist es möglich, die Daten mittels des UDM zu aktualisieren. Bei Measures können die Aktualisierungen separat von den ursprünglichen Werten, als Delta-Werte für diese Werte, durchgeführt werden. Zusätzlich ist es möglich, zusammengefasste Zahlen zu aktualisieren. Es soll hierzu ein Budgetierungs-Szenario betrachtet werden: Während die Höhe der budgetierten Summe schon bis zur einer detaillierten Ebene hinab bekannt sein kann (wie einem Team oder Konto), könnten die Werte erst auf einer zusammengefassten Ebene (Abteilung oder Kontotyp) ersichtlich sein. Aktionen Das UDM unterstützt Aktionen, die eine Verbindung zwischen den Daten und auf Grund der Daten ausgeführter Handlungen darstellen. Die wichtigsten Aktions-Arten: URL: Öffnet eine bestimmte URL. Es wird sowohl das Navigieren zu einer bestimmten URL zwecks Einholens weiterer Informationen unterstützt, als auch das Navigieren zu einer webbasierten Anwendung, um eine Aufgabe auszuführen. Beispiele: Für ein Produkt: Öffnen der Firmen-Web-Site, auf der das Produkt beschrieben ist. Für eine Kombination Produkt/Lager: Öffnen einer Webbasierten Anwendung zur Lagerverwaltung, wobei die Produkt/Lager-Kombination als Parameter weitergegeben wird, um den um den Sicherheitsstand zu erhöhen. Berichterstellung: Ausführen eines bestimmten Berichts. So kann diese Aktion beispielsweise für ein Produkt einen parametrisierten Produktbericht ausführen, in dem das Produkt und der aktuelle Bestellstatus beschrieben werden. DrillThrough: Ausführen eines Drillthrough zur niedrigst möglichen Detail-Ebene. Ein Benutzer, der die Summe aller Verkäufe nach Produkt und Kunden untersucht, kann so beispielsweise alle Verkaufstransaktionen, die zu dieser Summe beitragen, per Drillthroug anzeigen. Die Aktionen können mit bestimmten Datenregionen verknüpft werden. Zum Beispiel kann eine Aktion, die das Navigieren zu einer Webseite ermöglicht, jedem Produkt zugeordnet werden. Die Aktion zum Anzeigen der detaillierten Bestandsübertragungsaktionen wird aber für jeden Wert der Quantity-Daten je nach Produkt und Lager angewendet. Während die Aktionen Teil des UDM sind, sorgt die Clientanwendung dafür, dass die anwendbaren Details der Aktion abgerufen und dem Benutzer zu Verfügung gestellt werden, und dann die Aktion nach Bedarf gestartet wird. Architektur Während der vorhergegangene Teil sich auf das Endbenutzer-Modell konzentrierte, soll dieser Teil kurz die Architektur und APIs behandeln. 19 Ein UDM wird für eine oder mehrere Datenquellen definiert. Diese Datenquellen können verschiedener Art sein, einschließlich: Relationale Datenbanken Web-Dienste Dateien Obwohl ein bestimmter Satz von Datenquellen unterstützt wird, können Cartridges von Dritten als zusätzliche Datenquellen verwenden. Client-Werkzeuge haben Datenzugriff über das UDM (allgemeine Berichterstellung und OLAP-Clients wie auch Benutzeranwendungen). Die Client-API ist die bekannte Standard-XML/A, ein SOAP-basiertes Protokoll für die Ausgabe von Befehlen und das Empfangen von Antworten, dargestellt als Web-Dienst. Zusätzlich werden über XML/A Client-Objektmodelle geliefert, die sowohl einen verwalteten Provider (ADO MD.Net), als auch einen systemeigenen OLE DB-Provider beinhalten. Abfragebefehle können in SQL oder MDX (Multi-dimensional Expressions, eine Abfragesprache nach Industrienorm, die analyseorientiert ist) ausgegeben werden. 20 20 Der 'UDM-Server' ist Microsoft Analysis Services. ClientWerkzeuge Datenquellen Relationale DB XML/SQLAbfragen ADO MD.NET/ OLE DB für OLAP Beispielabfrage: SELECT {Measures Sales} on Columns Top10ProuctsByProfabiloty on Rows From Sales Dateien Web-Dienste Abbildung 11. Die UDM-Architektur (für eine vergrößerte Version auf das Bild klicken) Da die Client-Schnittstellen des UDM kompatibel sind mit dem existierenden Analysis Services-Produkt in SQL Server 2000, gibt es zahlreiche Client-Werkzeuge, die bereits jetzt schon mit dem UDM arbeiten können, wie: Office 10-Werkzeuge (Excel und Office Web-Komponenten) Zahlreiche externe Werkzeuge zur Analyse und Berichterstellung (wie ProClarity und Crystal Reports) SQL Server Reporting Services Zusätzlich wird das Microsoft Reporting Services-Produkt, das mit dem nächsten SQL Server erscheint, auch mit dem UDM arbeiten. UDMs können mit der selben XML/A-Schnittstelle erstellt und verwaltet werden. Ein entsprechendes Objekt-Modell AMO (Analysis Management Objects) unterstützt solche Verwaltungs-Operationen. Die Veröffentlichung von SQL Server wird einen reichhaltigen Satz von Entwicklungs-Werkzeugen für den Bau eines UDM enthalten. Dennoch bleibt der Entwurf komplexerer Modelle Datenbankadministratoren und Power-Usern und – Analytikern vorbehalten. In anderen Szenarien kann ein reduziertes, einfaches UDM ohne Zutun des Benutzers über einer Datenquelle erstellt werden. 21 Proaktives Zwischenspeichern Beim proaktiven Zwischenspeichern werden an das UDM ausgegebene Abfragen beantwortet durch Abfragen der neuesten Daten in der Datenquelle. Währenddessen wird in Zwischenspeicher mit den Daten und den aggregierten Daten gebildet, und bis zur Fertigstellung werden nachfolgende Abfragen wesentlich schneller aus dem Zwischenspeicher beantwortet. Bei Änderung der Daten oder Überschreiten der Wartezeit wird der Zwischenspeicher verworfen, Abfragen wieder an die Datenquelle ausgegeben und ein neuer Zwischenspeicher wird errichtet. Sicherheit Der Zugriff auf ein UDM kann kontrolliert werden. Dieses Dokument bietet nur einen kurzen Überblick über dieses wichtige Thema. Die Schlüssel-Features für Sicherheit: Das UDM bietet rollenbasierte Sicherheit. Rollen (beispielsweise 'Regional analyst') können definiert werden, den Rollen können Berechtigungen erteilt werden, und Benutzer können als Mitglieder einer Rolle zugeteilt werden. Die tatsächlichen Berechtigungen eines Benutzers stellen eine Vereinigung aller Berechtigungen einer jeden Rolle dar, zu der ein Benutzer gehört. Die Berechtigungen einer Rolle können auch Zugriffsverweigerungen definieren, wobei Rechte aufgehoben werden unbeachtet anderer Rollen, denen Benutzer angehören mag. Administrative Berechtigungen (beispielsweise das Ändern eines UDMs) können unabhängig von Datenzugriffsberechtigungen erteilt werden. Auch können einzelne Berechtigungen für folgende Aktionen definiert werden: Die Metadaten eines Objekts lesen; Zugriff (Lese-/Schreibzugriff) auf die Daten. Daten können auf einer präzisen Granularitätsebene gesichert werden, bis hin zu einzelnen Zellen (z.B. Verkäufe des Produkts 'Widget' an den Kunden 'ACME'). Sicherheit kann auch bedingt sein. Einer Rolle kann erlaubt sein, die Gehälter einer gesamten Abteilung nur dann einzusehen, wenn diese Abteilung mehr als fünf Mitarbeiter hat. Die Berechtigungen können definieren, ob sichtbare Summen verwendet werden sollen, in welchem Fall die Summen nur die niedrigeren Ebenen-Elemente wiedergeben, für die der Benutzer eine Berechtigung hat. Der Zugriff auf Zellen kann auch beschränkt werden. In diesem Fall können Zellen nur eingesehen werden, wenn die Zellen, von denen sie abgeleitet sind (so wie das Ableiten des Gewinns von Einnahmen und Ausgaben) auch eingesehen werden können. 22 22 Gelieferte Technonolgie Die Technologie, die das UDM unterstützt, wird mit SQL Server ausgeliefert. Die Veröffentlichung wird folgendes beinhalten: Ein Server-Produkt, das als NT-Dienst läuft und einen Web-Dienst liefert, der das Entwerfen, Verwalten und Abfragen eines UDMs ermöglicht. Eine DLL, die viele der Dienste des NT-Dienstes auch ermöglicht, einschließlich erstellen und abfragen eines UDMs. Das erlaubt das Einbetten der Technologie in andere Produkte. Ein Beispiel dafür sei, dass SQL Server Reporting Services diese Funktionalität nutzen wird, um Berichte als Datenquellen darzustellen. In Folge dessen wird dynamisch ein UDM erstellt werden, um die Daten einer Vielzahl von Client-Abfrage- und Analyse-Werkzeugen des Serverprodukts zur Verfügung zu stellen. Die APIs sind eine Weiterentwicklung der in der Analysis Services-Komponente von SQL Server 2000 verwendeten. Als solche sind viele Microsoft- und externe Client-Werkzeuge bereits UDM-fähig. 23