Eine Faktentabelle in Autonomous Data Warehouse speichert die Daten des Essbase-Cubes mit einer föderierten Partition. Wenn keine Faktentabelle vorhanden ist, die die Anforderungen für föderierte Partitionen erfüllt, müssen Sie eine erstellen. Außerdem müssen Sie sich mit Pivot-Dimensionen vertraut machen, damit Sie eine in Ihrem Essbase-Cube auswählen können.
Bevor Sie diesen Abschnitt starten, erstellen Sie eine Essbase-Anwendung und einen Essbase-Cube, falls noch nicht geschehen.
Für föderierte Partitionen speichert die Faktentabelle die Datenwerte des Essbase-Cubes. Wenn die erforderliche Faktentabelle in Autonomous Data Warehouse nicht vorhanden ist, müssen Sie eine erstellen.
Stellen Sie zunächst sicher, dass ein leeres Schema für die Faktentabelle vorhanden ist. Siehe Schema für föderierte Partitionen erstellen.
Die Faktentabelle muss ein Essbase-kompatibles Format aufweisen. Das heißt, sie muss die folgenden Anforderungen in Bezug auf Inhalt und Form erfüllen:
Jede der (Nicht-Attribute-)Dimensionen des Cubes muss einer einzelnen Spaltenüberschrift entsprechen. Allerdings muss eine der Dimensionen des Cubes (in der Regel diejenige mit Kennzahlen/Accounts) in zwei oder mehr Spalten pivotiert werden.
Hinweis:
Die pivotierte Dimension wird in der Dokumentation als Pivot-Dimension bezeichnet.
Die Faktentabelle muss aus eindeutigen Datensätzen (keine Duplikate) mit einer Zeile pro Sequenz von Essbase-Zellenschnittmengen bestehen.
Wenn Sie mit Essbase-Datenexporten vertraut sind, werden Sie feststellen, dass die Form der Faktentabelle genau einem Essbase-Spaltenexport entspricht.
Die Faktentabelle muss ähnlich wie ein Spaltenexport Folgendes enthalten:
eine Spalte für jede (Nicht-Attribute-)Dimension der Modellstruktur (außer für die Pivot-Dimension)
eine Spalte für jedes gespeicherte Element der Pivot-Dimension
Das folgende Beispiel ist eine Faktentabelle, in der die Measures-Dimension pivotiert wurde. Das heißt, sie ist die Pivot-Dimension. Die Pivot-Dimension beeinflusst die Form der Faktentabelle, da die gespeicherten Elemente der Dimension zu Spaltenüberschriften werden: SALES, COGS, MARKETING, PAYROLL, MISC, INTITIAL_INVENTORY und ADDITIONS.
Sie können die Faktentabelle mit SQL oder aus einem Essbase-Datenexport erstellen. Sie können Daten über Autonomous Data Warehouse-Tools oder mit der Dataload-Funktionalität von Essbase in die Faktentabelle laden.
Zusätzliche Richtlinien für die Erstellung einer Faktentabelle:
Die Faktentabelle muss weniger als 1000 Spalten enthalten.
Fügen Sie keine Spalten hinzu, die in Essbase Attribute-Dimensionen zugeordnet werden.
Die Faktentabelle darf keine geringere Präzision als IEEE binary64 (Double) aufweisen.
Die Faktentabelle muss internationalisierte Zeichenfolgen für Dimensionselemente mit dem Typ NVARCHAR2 und einer Zeichenlänge von 1024 Bit enthalten.
Beispiel für Erstellung einer Faktentabelle
Sie können SQL verwenden, um eine Faktentabelle in Autonomous Data Warehouse zu erstellen.
Melden Sie sich mit SQL Developer oder einem Tool Ihrer Wahl als Schemaeigentümer (vom Schritt Schema für föderierte Partitionen erstellen) bei Autonomous Data Warehouse an.
Erstellen Sie die Faktentabelle gegebenenfalls mit SQL.
Beispiel: Die folgende SQL-Anweisung erstellt eine Faktentabelle aus einem Datenexport vom Essbase-Cube "Sample Basic".
CREATE TABLE "SAMP_FACT" ( "PRODUCT" NVARCHAR2(1024), "MARKET" NVARCHAR2(1024), "YEAR" NVARCHAR2(1024), "SCENARIO" NVARCHAR2(1024), "SALES" NUMBER(38,0), "COGS" NUMBER(38,0), "MARKETING" NUMBER(38,0), "PAYROLL" NUMBER(38,0), "MISC" NUMBER(38,0), "INITIAL_INVENTORY" NUMBER(38,0), "ADDITIONS" NUMBER(38,0) ) NOCOMPRESS LOGGING PARALLEL 4;
Hinweise
Im oben gezeigten Beispiel lautet der Name der Faktentabelle "SAMP_FACT", basierend auf "Sample Basic".
Für eine bestmögliche Performance sollten alle nicht numerischen Spalten in der Faktentabelle den Typ NVARCHAR2(1024) und alle numerischen Spalten den Typ NUMBER aufweisen.
Oracle empfiehlt das Aktivieren der parallelen Indexerstellung in Autonomous Data Warehouse durch Hinzufügen von "PARALLEL 4".
Die Aufnahme von NULL-Werten in Metadatenspalten sollte nicht zulässig sein.
Oracle empfiehlt NOCOMPRESS, wenn die Verwendung des Cubes datengenerierende Prozesse beinhaltet, wie inkrementelle Dataloads oder Batchskriptaktualisierungen. Wenn der Cube in erster Linie für Lesevorgänge verwendet werden soll, optimieren Sie die Faktentabelle mit COMPRESS für die Berichtserstellung.
Wenn beim Erstellen der Faktentabelle der folgende Validierungsfehler angezeigt wird, löschen Sie Nullzeilen.
ORA-18265: fact table key column ("<DIM_NAME>") with value ('') not in dimension("<Name_of_Column") star table key column
Um die beste Performance zu erreichen, fügen Sie keine unnötigen spezifischen Constraints für die Tabelle hinzu.
Im oben gezeigten Beispiel basiert der Name der Faktentabelle auf dem Cube "Sample Basic, der in der Galerie im Essbase-Dateikatalog verfügbar ist. Sie können die Daten aus diesem Beispiel-Cube oder einem anderen Essbase-Cube exportieren und laden, um eine Faktentabelle zu erstellen. Zuvor müssen Sie jedoch Zugangsdaten einrichten, um Daten in eine Anwendung mit föderierter Partition zu laden. Informationen zum Einrichten der Zugangsdaten und zum Exportieren von Daten im DBMS-Format mit dem DATAEXPORT-Befehl finden Sie unter Dataload für föderierte Partition.
Beim Entwerfen einer föderierten Partition müssen Sie die Pivot-Dimension auswählen. Eine Pivot-Dimension ist eine Dimension, die Sie in der Essbase-Cube-Modellstruktur festlegen, um numerische Datenwerte darzustellen.
Bei der Pivot-Dimension muss es sich nicht notwendigerweise um Kennzahlen/Accounts handeln.
Alle gespeicherten Elemente der Pivot-Dimension müssen den Faktentabellenspalten zugeordnet sein, die Ihre numerischen Datenwerte in Autonomous Data Warehouse darstellen.
Wenn Sie Block-Storage-(BSO-)Berechnungsskripte von Essbase ausführen müssen, wählen Sie eine Dense-Dimension als Pivot-Dimension aus. Wenn die Pivot-Dimension eine Sparse-Dimension ist, werden Berechnungsskripte für föderierte Partitionen nicht unterstützt.
Die Pivot-Dimension sollte einigermaßen statische Elementnamen und nicht zu viele Elemente aufweisen. Grund: Wenn Sie die Pivot-Dimension in der Essbase-Cube-Modellstruktur ändern (z.B. indem Sie gespeicherte Elemente hinzufügen oder umbenennen), müssen Sie die Faktentabelle in Autonomous Data Warehouse entsprechend manuell aktualisieren und die föderierte Partition neu erstellen.
Essbase-Dimensionen mit Elementen, die komplexe, dynamische Formeln (z.B. "Anfangsbestand" und "Endbestand" im Beispiel "Sample Basic") erfordern, sollten nicht als Pivot-Dimension ausgewählt werden.
Sie geben die ausgewählte Pivot-Dimension an, wenn Sie eine föderierte Partition erstellen.
Für Oracle Database gilt ein Grenzwert von 1.000 Spalten, der von der Pivot-Dimension übernommen wird. Bestimmen Sie die Anzahl berechtigter Spaltenelemente in der Pivot-Dimension, um sicherzustellen, dass Sie den Grenzwert nicht erreichen. Die Anzahl potenzieller gespeicherter Elementkombinationen in der Pivot-Dimension plus die Anzahl an Dimensionen im Cube muss kleiner oder gleich 1.000 sein.
Bei Aggregate Storage Cubes dürfen Dimensionen, die Hierarchien mit auf mehreren Ebenen gespeicherten Elementen enthalten, nicht als Pivot-Dimension ausgewählt werden. Wählen Sie eine Pivot-Dimension mit dynamischen Hierarchien oder einer flachen gespeicherten Hierarchie mit nur einer Ebene aus (bei der alle Elemente auf Ebene 0 gespeichert sind).