OBIEE - Dimensionsmodellierung
Die Dimensionsmodellierung bietet eine Reihe von Methoden und Konzepten, die im DW-Design verwendet werden. Laut dem DW-Berater Ralph Kimball ist die Dimensionsmodellierung eine Entwurfstechnik für Datenbanken, die Endbenutzerabfragen in einem Data Warehouse unterstützen soll. Es orientiert sich an Verständlichkeit und Leistung. Ihm zufolge sollte die transaktionsorientierte Notaufnahme zwar für die Transaktionserfassung sehr nützlich sein, sie sollte jedoch für die Zustellung durch den Endbenutzer vermieden werden.
Bei der Dimensionsmodellierung werden immer Fakten und Dimensionstabellen verwendet. Fakten sind numerische Werte, die anhand der Faktenwerte aggregiert und analysiert werden können. Dimensionen definieren Hierarchien und Beschreibungen von Faktenwerten.
Dimensionstabelle
Die Dimensionstabelle speichert die Attribute, die Objekte beschreiben, in einer Faktentabelle. Eine Dimensionstabelle verfügt über einen Primärschlüssel, der jede Dimensionszeile eindeutig identifiziert. Mit diesem Schlüssel wird die Dimensionstabelle einer Faktentabelle zugeordnet.
Dimensionstabellen werden normalerweise de-normalisiert, da sie nicht zur Ausführung von Transaktionen erstellt und nur zur detaillierten Analyse von Daten verwendet werden.
Beispiel
In der folgenden Dimensionstabelle enthält die Kundendimension normalerweise den Namen des Kunden, die Adresse, die Kunden-ID, das Geschlecht, die Einkommensgruppe, das Bildungsniveau usw.
Kundennummer | Name | Geschlecht | Einkommen | Bildung | Religion |
---|---|---|---|---|---|
1 | Brian Edge | M. | 2 | 3 | 4 |
2 | Fred Smith | M. | 3 | 5 | 1 |
3 | Sally Jones | F. | 1 | 7 | 3 |
Faktentabellen
Die Faktentabelle enthält numerische Werte, die als Messungen bezeichnet werden. Eine Faktentabelle enthält zwei Arten von Spalten - Fakten und Fremdschlüssel für Dimensionstabellen.
Es gibt drei Arten von Maßnahmen in der Faktentabelle:
Additive - Maßnahmen, die über jede Dimension hinzugefügt werden können.
Non-Additive - Maßnahmen, die in keiner Dimension hinzugefügt werden können.
Semi-Additive - Maßnahmen, die über einige Dimensionen hinzugefügt werden können.
Beispiel
Zeit-ID | Produkt ID | Kundennummer | Einheit verkauft |
---|---|---|---|
4 | 17 | 2 | 1 |
8 | 21 | 3 | 2 |
8 | 4 | 1 | 1 |
Diese Faktentabelle enthält Fremdschlüssel für Zeitdimension, Produktdimension, Kundendimension und verkaufte Messwerteinheit.
Angenommen, ein Unternehmen verkauft Produkte an Kunden. Jeder Verkauf ist eine Tatsache, die innerhalb des Unternehmens stattfindet, und die Faktentabelle wird verwendet, um diese Tatsachen aufzuzeichnen.
Allgemeine Fakten sind: Anzahl der verkauften Einheiten, Marge, Umsatz usw. Die Dimensionstabelle listet Faktoren wie Kunde, Zeit, Produkt usw. auf, anhand derer wir die Daten analysieren möchten.
Wenn wir nun die obige Faktentabelle und die Kundendimension berücksichtigen, gibt es auch eine Produkt- und Zeitdimension. Angesichts dieser Faktentabelle und dieser dreidimensionalen Tabellen können wir Fragen stellen wie: Wie viele Uhren wurden 2010 an männliche Kunden verkauft?
Unterschied zwischen Dimension und Faktentabelle
Der funktionale Unterschied zwischen Dimensionstabellen und Faktentabellen besteht darin, dass Faktentabellen die Daten enthalten, die wir analysieren möchten, und Dimensionstabellen die Informationen enthalten, die erforderlich sind, damit wir sie abfragen können.
Aggregierte Tabelle
Die Aggregattabelle enthält aggregierte Daten, die mithilfe verschiedener Aggregatfunktionen berechnet werden können.
Ein aggregate function ist eine Funktion, bei der die Werte mehrerer Zeilen als Eingabe nach bestimmten Kriterien zusammengefasst werden, um einen einzelnen Wert von größerer Bedeutung oder Messung zu bilden.
Zu den allgemeinen Aggregatfunktionen gehören -
- Average()
- Count()
- Maximum()
- Median()
- Minimum()
- Mode()
- Sum()
Diese aggregierten Tabellen werden zur Leistungsoptimierung verwendet, um komplexe Abfragen in einem Data Warehouse auszuführen.
Beispiel
Sie speichern Tabellen mit aggregierten Daten wie jährlich (1 Zeile), vierteljährlich (4 Zeilen), monatlich (12 Zeilen) und müssen nun Daten vergleichen, z. B. Jährlich wird nur 1 Zeile verarbeitet. In einer nicht aggregierten Tabelle werden jedoch alle Zeilen verarbeitet.
MINDEST | Gibt den kleinsten Wert in einer bestimmten Spalte zurück |
MAX | Gibt den größten Wert in einer bestimmten Spalte zurück |
SUMME | Gibt die Summe der numerischen Werte in einer bestimmten Spalte zurück |
AVG | Gibt den Durchschnittswert einer bestimmten Spalte zurück |
ANZAHL | Gibt die Gesamtzahl der Werte in einer bestimmten Spalte zurück |
ANZAHL (*) | Gibt die Anzahl der Zeilen in einer Tabelle zurück |
Wählen Sie Durchschnitt (Gehalt) des Mitarbeiters aus, wobei title = 'Entwickler'. Diese Erklärung gibt das Durchschnittsgehalt für alle Mitarbeiter zurück, deren Titel gleich "Entwickler" ist.
Aggregationen können auf Datenbankebene angewendet werden. Sie können Aggregate erstellen und in Aggregattabellen in der Datenbank speichern oder Aggregate im laufenden Betrieb auf Berichtsebene anwenden.
Note - Wenn Sie Aggregate auf Datenbankebene speichern, spart dies Zeit und bietet Leistungsoptimierung.