SSAS (SQL Server Analysis Services) ist eine Business-Intelligence-Lösung von Microsoft, die zur Analyse großer Datenmengen verwendet wird. SSAS bietet eine Reihe von Funktionen, darunter die Erstellung von Cubes, die für die Analyse und Entscheidungsfindung verwendet werden können.
Cubes
Ein OLAP-Würfel oder Datenwürfel (englisch OLAP cube oder engl. data cube), auch Cube-Operator genannt, ist ein in der Data-Warehouse-Theorie gebräuchlicher Begriff zur logischen Darstellung von Daten. Die Daten werden dabei als Elemente eines mehrdimensionalen Würfels (engl. cube) angeordnet. Die Dimensionen des Würfels beschreiben die Daten und erlauben auf einfache Weise den Zugriff. Daten können über eine oder mehrere Achsen des Würfels ausgewählt werden. Die Bezeichnung OLAP (Online Analytical Processing) stammt aus der Datenanalyse. [Wikipedia]
Arten von SASS (multidimensional vs. tabular)
Tabulare und multidimensionale Modelle sind zwei verschiedene Arten von Datenmodellen, die für die Business Intelligence (BI) verwendet werden. Beide Modelle haben ihre eigenen Vor- und Nachteile und werden daher für verschiedene Anwendungsfälle eingesetzt.
Multidimensionales Modelle
Multidimensionale Modelle sind eine Art von Datenmodell, das Daten in Form von Dimensionswürfeln speichert. Dimensionswürfel sind eine hierarchische Struktur, die aus Dimensionen und Measures besteht.
Multidimensionale Modelle sind besonders gut geeignet für die Analyse von großen Datenmengen. Sie bieten eine schnelle und effiziente Möglichkeit, Daten zu filtern und zu aggregieren.
Bei Multidimensionalen Modellen wird MDX als Abfrage verwendet. Hierbei werden Tupel als Zellen im Cube Space angesprochen. Die Axen im Tupel beschreiben die Koordinaten.
(Date.Calendar.[Calendar Year].&[2013], Measures.[Internet Sales Amount])
Tabulare Modelle
Tabulare Modelle sind eine Art von Datenmodell, das Daten in Form von Tabellen speichert. Die Tabellen sind durch Beziehungen miteinander verbunden.
Tabulare Modelle sind einfach zu verstehen und zu verwenden. Sie sind auch sehr flexibel und können für eine Vielzahl von Analyseaufgaben verwendet werden.
Tabulare Modelle greifen auf die Abfragesprache DAX zurück. Hierbei werden die zugrundeliegenden Tabellen gefiltert. Somit ist das Ergebnis die Schnittmenge der einzelnen Kriterien.
- Understanding the SQL Server 2012 BI Semantic Model (BISM)
- Tabular Modeling (Adventure Works Tutorial)
- So what exactly is the Vertipaq engine?
- DAX – Queries
- DAX and MDX (Technet)
- DAX (Data Analysis Expressions Reference)
- MDX (Multidimensional Expressions Reference)
- MDX and DAX-compare and contrast
- DAX vs MDX
Vergleich
Merkmal | Multidimensionale Modelle | Tabulare Modelle |
Datenspeicherung | Daten werden in Dimensionswürfeln gespeichert | Daten werden in Tabellen gespeichert |
Beziehungen | Dimensionswürfel sind eine hierarchische Struktur | Tabellen sind durch Beziehungen miteinander verbunden |
Einfachheit | Komplexer zu verstehen und zu verwenden | Einfach zu verstehen und zu verwenden |
Flexibilität | Gut geeignet für die Analyse von großen Datenmengen | Sehr flexibel |
Leistung | Höhere Leistung für die Analyse von großen Datenmengen | Geringere Leistung für die Analyse von großen Datenmengen |
Tabulare Modelle werden häufig für die Analyse von kleineren Datenmengen verwendet. Sie sind auch gut geeignet für die Analyse von Daten aus verschiedenen Quellen.
Multidimensionale Modelle werden häufig für die Analyse von großen Datenmengen verwendet. Sie sind auch gut geeignet für die Analyse von Daten, die in Dimensionswürfeln gespeichert sind.
Grundprinzipien der Erstellung von Cubes
Die Erstellung von Cubes folgt einer Reihe von Grundprinzipien. Diese Prinzipien sind:
- Datenintegration: Die Daten, die in einen Cube aufgenommen werden sollen, müssen aus verschiedenen Quellen integriert werden. Dies kann durch den Einsatz von Datenintegrationstools oder -prozessen erfolgen.
- Datenmodellierung: Die Daten, die in einen Cube aufgenommen werden, müssen in einem kohärenten Schema modelliert werden. Dies stellt sicher, dass die Daten konsistent sind und sich leicht analysieren lassen.
- Cube-Design: Der Cube muss so entworfen werden, dass er die Anforderungen der Benutzer erfüllt. Dies umfasst die Auswahl der richtigen Dimensionen und Measures sowie die Definition von Beziehungen zwischen den Dimensionen.
- Cube-Entwicklung: Der Cube muss entwickelt und getestet werden. Dies umfasst die Erstellung der Cube-Struktur, das Laden der Daten und die Ausführung von Analyse-Abfragen.
Datenintragration
Die Daten, die in einen Cube aufgenommen werden sollen, müssen aus verschiedenen Quellen integriert werden. Dies kann durch den Einsatz von Datenintegrationstools oder -prozessen erfolgen.
Bei der Datenintegration wird sichergestellt, dass die Daten aus verschiedenen Quellen in einem kohärenten Schema vorliegen. Dies ist wichtig, damit die Daten konsistent sind und sich leicht analysieren lassen.
Datenmodellierung
Die Daten, die in einen Cube aufgenommen werden, müssen in einem kohärenten Schema modelliert werden. Dies stellt sicher, dass die Daten konsistent sind und sich leicht analysieren lassen.
Bei der Datenmodellierung werden die Daten in einem logischen Schema abgebildet. Dieses Schema sollte die Geschäftsanforderungen widerspiegeln und die Analyse der Daten erleichtern.
Cube-Design
Der Cube muss so entworfen werden, dass er die Anforderungen der Benutzer erfüllt. Dies umfasst die Auswahl der richtigen Dimensionen und Measures sowie die Definition von Beziehungen zwischen den Dimensionen.
Dimensionen sind die Attribute, die die Daten beschreiben. Measures sind die Werte, die die Daten darstellen.
Beim Cube-Design ist es wichtig, die richtigen Dimensionen und Measures auszuwählen. Die Dimensionen sollten die wichtigsten Attribute der Daten beschreiben, während die Measures die wichtigsten Werte der Daten darstellen sollten.
Darüber hinaus müssen Beziehungen zwischen den Dimensionen definiert werden. Dies stellt sicher, dass die Daten konsistent sind und sich leicht analysieren lassen.
Cube-Entwicklung
Der Cube muss entwickelt und getestet werden. Dies umfasst die Erstellung der Cube-Struktur, das Laden der Daten und die Ausführung von Analyse-Abfragen.
Bei der Cube-Entwicklung wird die Cube-Struktur erstellt. Diese Struktur definiert die Dimensionen, Measures und Beziehungen des Cubes.
Nachdem die Cube-Struktur erstellt wurde, werden die Daten in den Cube geladen. Dies kann durch den Einsatz von Datenintegrationstools oder -prozessen erfolgen.
Zuletzt werden Analyse-Abfragen auf dem Cube ausgeführt. Diese Abfragen werden verwendet, um die Daten zu analysieren und Erkenntnisse zu gewinnen.
Umgang mit Cubes
- Slicing: Ausschneiden von Scheiben aus dem Datenwürfel
- Dicing: Hierbei wird ein kleinerer Würfel erzeugt, der ein Teilvolumen des Gesamtwürfels enthält. Dieses geschieht durch Teileinschränkungen auf einer oder mehreren Dimensionen.
- Pivoting / Rotation: Drehen des Datenwürfels, so dass mindestens eine andere Dimension sichtbar wird
- Drill-Down: Aggregationen eines Informationsobjekts auf detaillierte Werte herunterbrechen; „Hereinzoomen“
- Drill-Up/Roll-Up: Gegenoperation zu Drill-Down; Verdichten auf höhere Hierarchiestufe (z. B. von der Monats- auf die Jahressicht)
- Drill-Across: Dimension auf der gleichen Hierarchiestufe; Betrachtung der benachbarten Dimensionselemente (andere Region, anderes Produkt, anderer Monat)
- Drill-Through: während man sich bei Drill-Up oder Drill-Down vertikal durch die Daten(Hierarchie) bewegt, wird Drill-Through dafür verwendet horizontal weitere OLAP-Würfel auszuwerten; manchmal wird Drill-Across mit Drill-Through gleichgesetzt
- Split: Der Split-Operator ermöglicht es, einen Wert nach mehreren Dimensionen aufzuteilen, um weitere Details zu ermitteln (z. B. den Umsatz einer Filiale für eine bestimmte Menge von Produkten)
- Merge / Drill-In: Im Gegensatz zu Split wird hier die Granularität durch das Entfernen zusätzlicher Dimensionen wieder verringert.
Software
- Microsoft SSAS
- Multidimensional Cubes
- Tabular Cubes
- IBM Cognos
- IBM Cognos Transformer (File-based MOLAP cube with pre-aggregation)
- IBM Cognos TM1 (In-memory MOLAP technology with write-back support)
- IBM Cognos Dynamic Cubes (In-memory accelerator for dimensional analysis)
- Dimensionally modeled relational (DMR) (Dimensional view of a relational database)
- Oracle
- Oracle Hyperion Essbase
- SAP
- SAP BI (vormale SAP Netwever Business Warehouse = SAP BW)
Building a Cube / Einen Cube bauen (SSAS)
Eine Datenquelle (Data Source) hinzufügen
- Teil 1: Ein SQL Data Warehouse als Datenquelle für einen Cube (am Beispiel der Adventure Works DB)
- Defining a Data Source (MSDN)
Eine Datenquellensicht (Data Source View) hinzufügen
- Teil 2: Eine Datenquellensicht hinzufügen (am Beispiel der Adventure Works DB)
- Defining a Data Source View (MSDN) | Defining a Data Source View (technet)
- Modifying Default Table Names
Einen Data Cube erstellen
- Teil 3: Erstellen eines Cubes
Fazit
SSAS ist eine leistungsstarke Business-Intelligence-Lösung, die zur Analyse großer Datenmengen verwendet werden kann. Die Erstellung von Cubes ist ein wichtiger Teil der SSAS-Entwicklung. Die Einhaltung der Grundprinzipien der Cube-Erstellung trägt dazu bei, Cubes zu erstellen, die die Anforderungen der Benutzer erfüllen und die Analyse von Daten erleichtern.