Ebenenreferenzen in Dimensionserstellungen

Ebenen werden aus einer Bottom-up-Hierarchie definiert, wobei Leaf-Elemente Ebene 0 sind und jeder Schritt näher am Dimensionsnamen die Ebene um 1 erhöht. Wenn Sie Essbase-Dimensionen aus einer Bottom-up-Quelle erstellen, verwenden Sie die Erstellungsmethode Ebene. Wenn Quelldaten Nullwerte enthalten, verwenden Sie die Erstellungsmethode Nullwerte auf Prozessebene.

In einer Bottom-up-Datenquelle definiert jeder Datensatz ein einzelnes Element einer Dimension. Die Definition beginnt mit den spezifischsten Informationen über das Mitglied und liefert schrittweise allgemeinere Informationen. Ein typischer Datensatz gibt den Namen des neuen Elements, dann den Namen des übergeordneten Elements, dann das übergeordnete Element des übergeordneten Elements usw. an.

Beispiel: In der unten dargestellten Gliederung befinden sich die Elemente der untersten Ebene am Boden der Verzweigungen der Product-Dimension.

Abbildung 14-3 Generierungs- und Ebenennummern


Diese Abbildung zeigt die Generierungsnummer und Ebenennummer für jedes Element.

Um die Modellstruktur mit einem Dimensionserstellungsjob zu erstellen, können Sie die folgende Bottom-up-Datenquelle eingeben:

100-10-12  100-10  100
100-20-12  100-20  100

Normalerweise würden Sie eine Dimensionserstellung mit der Erstellungsmethode Ebene ausführen, wenn die Elemente der untersten Ebene von links nach rechts sequenziert sind. Elemente der Ebene 0 (Blattebene) befinden sich im ersten Feld, Elemente der Ebene 1 im zweiten Feld usw. Diese Organisation ist das Gegenteil davon, wie Daten für Generierungsreferenzen (top-down) dargestellt werden.

Angenommen, Sie haben einen Cube mit einer Product-Dimension, und Sie möchten die folgende tabulatorgetrennte Datendatei unten verwenden, um weitere Produktelemente für die Product-Dimension zu erstellen.

600-10-11	600-10	600
600-20-10	600-20	600
600-20-18	600-20	600

Die Datenquelle ist "bottom-up", da die erste Spalte der Datenquelle neue Leaf-Level-Elemente enthält (600-10-11, 600-20-10 und 600-20-18). Die zweite Spalte enthält die Eltern der neuen Mitglieder (600-10 und 600-20), und die dritte Spalte enthält Eltern der Eltern (600).

Die Load-Regel für die Dimensionserstellung verwendet die Erstellungsmethode für Ebenenreferenzen, um die Elemente zur Product-Dimension hinzuzufügen. Die Regel gibt die Ebenennummer und den Feldtyp für jedes Feld der Datenquelle an. Sie müssen auch die Build-Methode Ebene in den Dimensionseigenschaften der Regel auswählen, es sei denn, die Quelldaten enthalten Nullwerte (in diesem Anwendungsfall siehe unten, Umgang mit leeren Feldern).

Dimensionserstellungsregel für eine Ebenenerstellung

Essbase erstellt die folgende Hierarchie aus der Datenquelle und Regel:

Abbildung 14-4 Ebenen


Diese Abbildung zeigt die neuen Elemente, die während der Ebenenerstellung erstellt werden.

Umgang mit leeren Feldern

Wenn Sie Dimensionen aus Generierungs- oder Ebenenreferenzen in den Quelldaten erstellen, können Sie Nullwerte verarbeiten. Die Nullverarbeitung gibt an, welche Aktionen Essbase ausführen soll, wenn leere Felder in der Datenquelle auftreten.

Hinweis:

Null-Verarbeitungsoptionen sind nur für reguläre Dimensionserstellungsregeln verfügbar (nicht indexbasiert).

Wenn die Nullverarbeitung nicht aktiviert ist, lehnt Essbase alle Datensätze mit Nullwerten ab und schreibt einen Fehler in das Fehlerlog.

Um die Nullverarbeitung zu aktivieren, wählen Sie eine der Erstellungsmethoden für die Nullverarbeitung in den Dimensionseigenschaften, wenn Sie die neue Dimensionserstellungsregel erstellen.


Null Verarbeitungserstellungsmethoden in Dimensionseigenschaften für eine neue Regel

Wenn Sie die Erstellungsmethode Prozessebene null verwenden, weist sie Essbase an, bei der Verarbeitung von Ebenenreferenzen in den Quelldaten einige Nullwerte zu erwarten. Dadurch werden Fehler vermieden.

Beispiel

Angenommen, Sie möchten in diesem Beispiel für die Dimensionserstellung eine ragged/asymmetrische Hierarchie wie die folgende in einer neuen Channel-Dimension in Sample Basic hinzufügen.


Die Channel-Dimension enthält vier Elementebenen. Kanal-IDs befinden sich auf Ebene 0. Die indirekten Kanal-IDs haben drei Ebenen von Elementen über ihnen, und die direkten Kanal-IDs haben vier Ebenen von Elementen über ihnen, was dies zu einer unausgeglichenen/ragged Hierarchie macht.

Die Datenquelle ist unten nach oben, d.h. die niedrigsten Ebenen werden in jedem Datensatz zuerst angezeigt. Daher ist es sinnvoll, eine Level-Referenzen-Build-Methode zu verwenden. Es sind jedoch Nullbehandlungsanweisungen erforderlich. Die ersten drei Quelldatensätze enthalten Nullfelder, da keine Standortdaten für die indirekten Kanäle vorhanden sind.

Channel-04,,Indirect,"All Channels"
Channel-07,,Indirect,"All Channels"
Channel-24,,Indirect,"All Channels"
Channel-21,Outlet,Direct,"All Channels"
Channel-29,Mall,Direct,"All Channels"
Channel-31,Kiosk,Direct,"All Channels"

Mit der Erstellungsmethode Prozessebene Null können Sie eine Regel erstellen, um die Dimensionen zu erstellen und Fehler im Zusammenhang mit Nullwerten zu vermeiden.

Um eine Regel für dieses Beispiel zu erstellen,

  1. Importieren/erstellen Sie den Beispiel-Basic-Cube mit der Anwendungsarbeitsmappe, die in der Galerie im Dateikatalog auf dem Essbase-Server verfügbar ist.

  2. Erstellen Sie eine durch Komma getrennte Datendatei wie die folgende, nennen Sie sie levchannel.txt, und laden Sie sie in das Cube-Verzeichnis "Beispielbasis" hoch.

    Channel-04,,Indirect,"All Channels"
    Channel-07,,Indirect,"All Channels"
    Channel-24,,Indirect,"All Channels"
    Channel-21,Outlet,Direct,"All Channels"
    Channel-29,Mall,Direct,"All Channels"
    Channel-31,Kiosk,Direct,"All Channels"
  3. Öffnen Sie auf der Homepage die Anwendung, und öffnen Sie dann die Datenbank (Cube).

  4. Wählen Sie die Registerkarte Skripte aus, und klicken Sie auf Regeln.


    Die Registerkarte "Skripte" ist ausgewählt, und die Kachel "Regeln" ist in der Essbase-Weboberfläche hervorgehoben.

  5. Klicken Sie auf Erstellen, und wählen Sie Dimensionserstellung (Regulär) aus.


    Im Datenbankdialog wird die Schaltfläche "Erstellen" gedrückt und die Option "Dimension erstellen (Regulär)" ausgewählt

  6. Im Dialogfeld "Neue Regel"

    1. Geben Sie einen Regelnamen ein. Beispiel: levchannel.

    2. Wählen Sie unter Quelltyp die Option Datei aus, klicken Sie auf Katalog, und navigieren Sie zu levchannel.txt.

      Wenn Sie auf Katalog klicken, wird erwartet, dass sich die Datei standardmäßig im Cube-Verzeichnis auf dem Essbase-Server befindet. Sie müssen sie daher bereits mit dem Abschnitt Dateien der Essbase-Weboberfläche uploadiert haben. Wenn sich die Datei auf Ihrem Clientrechner befindet, klicken Sie auf Dateibrowser, um die Datei zu suchen.

    3. Lassen Sie die Felder Kopfzeilendatensatznummer und Dimensionserstellungsdatensatznummer auf 0. Header-Datensätze sind für Dimensionserzeugungen nicht nützlich.

    4. Klicken Sie auf Fortfahren.

    5. Die Dimensionserstellungsregel wird mit nicht definierten Feldern geöffnet, und es werden Daten (aus der Textdatei) in der Vorschau angezeigt, die das Raster unter den Feldern ausfüllen.
      Dimensionserstellungsregeleditor für die neue Regel "levchannel", wobei die nicht definierten Felder 1 bis 4 als Metadatenspalten gefüllt werden müssen. Unter jedem Feld werden die importierten Datenwerte aus der Quelldatendatei angezeigt.

  7. Da es sich um eine neue Regel handelt, sind noch keine Dimensionen zugeordnet.

    1. Klicken Sie auf Dimensionen.
      Schaltfläche "Dimensionen" im Regeleditor

    2. Geben Sie den neuen Dimensionsnamen Channel ein, und klicken Sie auf Hinzufügen.
  8. Jetzt müssen Sie die Build-Methode definieren und andere Betriebsanweisungen für den Dimensionsaufbau prüfen. Klicken Sie auf den Link Kanal, um die Dimensionseigenschaften zu bearbeiten.

  9. Ändern Sie Build-Methode in Prozessebene null.


    Fenster "Dimensionen bearbeiten" im Regeleditor für Dimensionserstellung, wobei "Prozessebene" nicht ausgewählt ist.

    Klicken Sie auf "OK".

  10. Klicken Sie im Feld 1 auf den Selektor Dimension, und wählen Sie Kanal aus.
    Feld 1 im Regeleditor für die Dimensionserstellung, das mit Daten aufgefüllt wird und die Dimension "Kanal" ausgewählt ist.

  11. Ändern Sie den Selektor Typ von Feld 1 in Ebene.

  12. Erhöhen Sie die Ebene auf 0, da sich die Kanal-IDs auf Ebene 0 befinden.

  13. In den Feldern 2 - 4 muss jetzt Kanal als Dimension ausgewählt werden. Ändern Sie die Auswahl Typ in Ebene, und markieren Sie die Ebenennummern als 1 für Feld 2, 2 für Feld 3 und 3 für Feld 4.


    Dimensionserstellungsregel zum Erstellen einer Channel-Dimension mit einer Ragged-Hierarchie mit der Erstellungsmethode für Nullwerte auf Prozessebene. Feld 1 ist als Kanal, Ebene, 0 definiert und enthält Kanal-IDs. Feld 2 ist als Kanal, Ebene, 1 definiert und enthält drei Nullfelder und drei Standortfelder (Outlet, Mall und Kiosk). Feld 3 ist definiert als "Kanal", "Ebene", "2" und "Indirekt" für drei Datensätze und "Direkt" für drei Datensätze. Feld 4 ist definiert als Kanal, Ebene, 3 und enthält alle Kanäle.

  14. Prüfen Sie die Regel, und speichern und schließen Sie sie. Wenn Fehler auftreten, finden Sie weitere Informationen unter Anforderungen an gültige Regeldateien für die Dimensionserstellung.

  15. Führen Sie den Dimensionserstellungsjob aus.

  16. Zeigen Sie die Gliederung an, um zu bestätigen, dass die Channel-Dimension und die erwartete Hierarchie von Elementen hinzugefügt wurden.

Nullverarbeitungsablauf für ebenenbasierte Dimensionserstellungen

Wenn die Nullverarbeitung aktiviert ist, verarbeitet Essbase Ebenen-Nullwerte wie folgt:

  • Feld auf Nullebene: Wenn ein Nullwert auftritt, bei dem Essbase ein Feld "Ebene" erwartet, stuft Essbase das Feld "nächste Ebene" hoch, um das fehlende Feld zu ersetzen.

    Beispiel

    Bei der Dimensionserstellung wird "Indirekt" in Ebene 1 anstelle von Ebene 2 platziert, da Feld 2 für Ebene 1 einen Nullwert enthält.


    Feld 1 ist Kanal, Ebene 0 mit einer Kanal-ID in der ersten Zeile. Feld 2 ist Kanal, Ebene 1 mit einem Nullwert in der ersten Zeile. Feld 3 ist Kanal, Ebene 2, der indirekt in der ersten Zeile enthält. Feld 4 ist Kanal, Ebene 3, der alle Kanäle enthält.

  • Nullfeld vor einem sekundären Feld: Wenn ein Nullwert direkt vor einem sekundären Feld auftritt, ignoriert Essbase das sekundäre Feld. (Sekundäre Feldoptionen sind Alias, Eigenschaft, Formel, doppelte Ebene, doppelter Ebenenalias, Währungsname, Währungskategorie, übergeordnetes Attribut, UDA und ein Name einer Attributdimension.)

    Beispiel

    Bei der Dimensionserstellung wird der Alias in Feld 3 ignoriert, da Feld 2 einen Nullwert enthält. Essbase platziert indirekt auf Ebene 1 und alle Kanäle auf Ebene 2.


    Feld 1 ist Kanal, Ebene 0 mit einer Kanal-ID. Feld 2 ist Kanal, Ebene 1 mit einem Nullwert. Feld 3 ist Kanal, Alias, der Katalog enthält. Feld 4 ist Kanal, Ebene 2, der indirekt enthält. Feld 5 ist Kanal, Ebene 3 mit allen Kanälen.

  • Sekundäres Nullfeld: Wenn ein Nullwert auftritt, bei dem Essbase ein sekundäres Feld erwartet, ignoriert Essbase das sekundäre Nullfeld und fährt mit dem Laden fort (dies ist dasselbe Verhalten wie bei der Ebene-Build-Methode).

    Beispiel

    Bei der Dimensionserstellung wird der erste Alias in Feld 3 ignoriert, da dieses Feld einen Nullwert enthält. Das Element-Outlet wird der Outline ohne Alias hinzugefügt.


    Feld 1 ist Kanal, Ebene 0 mit Kanal-IDs. Feld 2 ist Kanal, Ebene 1 mit Auslauf in der ersten Zeile und Mall und Kiosk in den nächsten beiden Zeilen. Feld 3 ist "Kanal", "Alias", das in der ersten Zeile einen Nullwert und in den nächsten beiden Zeilen einige Aliasnamen enthält. Feld 4 ist Kanal, Ebene 2, mit Direkt in allen Zeilen. Feld 5 ist Kanal, Ebene 3 mit allen Kanälen in allen Zeilen.