Pivot-Dimension identifizieren und Faktentabelle einrichten

In einer Faktentabelle in Autonomous AI Lakehouse werden die Daten des föderierten Cubes gespeichert. Wenn Sie keine Faktentabelle haben, die den Anforderungen für föderierte Partitionen entspricht und Essbase die Faktentabelle nicht verwalten lässt, müssen Sie eine Faktentabelle erstellen.

Hinweis:

Wenn Sie Essbase die Faktentabelle verwalten lassen, erstellt Essbase die Faktentabelle für Sie.

Bevor Sie diesen Abschnitt starten, erstellen Sie eine Essbase-Anwendung und einen Essbase-Cube, falls noch nicht geschehen.

Pivot-Dimension identifizieren

Beim Entwerfen eines föderierten Cubes 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 werden, die Ihre numerischen Datenwerte in Autonomous AI Lakehouse darstellen.

  • Wenn Sie Block-Storage-(BSO-)Berechnungsskripte von Essbase ausführen müssen, wählen Sie eine Dense-Dimension als Pivot-Dimension aus. Berechnungsskripte werden für föderierte Cubes nicht unterstützt, wenn die Pivot-Dimension dünn besetzt ist.

  • 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 (z.B. durch Hinzufügen oder Umbenennen gespeicherter Elemente) ändern, müssen Sie die Faktentabelle in Autonomous AI Lakehouse entsprechend manuell aktualisieren und die föderierte Partition entsprechend 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 Ihre ausgewählte Pivot-Dimension zum Zeitpunkt der Erstellung einer föderierten Partition an.

  • 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.

  • Für föderierte Cubes, die auf ASO basieren, empfiehlt Oracle, dass Dimensionen mit gespeicherten Elementhierarchien mit mehreren Ebenen 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).

Faktentabelle erstellen

In einer Faktentabelle in Autonomous AI Lakehouse werden alle Datenwerte eines föderierten Cubes gespeichert. Wenn Sie noch nicht über die erforderliche Faktentabelle verfügen und Ihr föderierter Cube nicht von Essbase verwaltet wird, müssen Sie einen erstellen.

Hinweis:

Dieses Thema ist nicht erforderlich, wenn Sie Essbase die Faktentabelle verwalten lassen, da Essbase die Faktentabelle für Sie erstellt. Siehe Dataload-Optionen für föderierte Cubes.

Stellen Sie vor dem Start sicher, dass ein Schema für die Faktentabelle vorhanden ist. Siehe Schema für föderierte Cubes 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. Diese Ausnahme wird 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. Dies bedeutet, dass sie die Pivot-Dimension ist. 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.


Faktentabelle mit denormalisierten Daten und Metadaten

Sie können die Faktentabelle mit SQL oder aus einem Essbase-Datenexport erstellen. Sie können Daten über Autonomous AI Lakehouse-Tools oder mit der Essbase-Dataload-Funktionalität 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

Um eine Faktentabelle in Autonomous AI Lakehouse zu erstellen, können Sie SQL verwenden.

  1. Melden Sie sich mit SQL Developer oder Ihrem Tool Ihrer Wahl bei Autonomous AI Lakehouse als Schemaeigentümer an (aus Schritt Schema für föderierte Cubes erstellen).

  2. 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 die Aktivierung der parallelen Indexerstellung in Autonomous AI Lakehouse 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 obigen Beispiel basiert der Faktentabellenname auf Sample Basic, das 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. Bevor Sie dies tun können, müssen Sie Zugangsdaten für das Laden von Daten in einen föderierten Cube einrichten. Informationen zum Einrichten der Zugangsdaten und zum Exportieren von Daten in das DBMS-Format mit dem Befehl DATAEXPORT finden Sie unter Zugangsdaten für föderierte Cubes einrichten.