Generierungsreferenzen in Dimensionserstellungen

Essbase-Dimensionselemente, die eine gemeinsame Verzweigung belegen, befinden sich in derselben Generation. Die 1. Generation ist der Dimensionsname, und jede untere Ebene erhöht die Generierungsnummer. Wenn Sie Dimensionen aus einer Top-down-Quelle erstellen, verwenden Sie die Erstellungsmethode Generation. Wenn Quelldaten Nullwerte enthalten, verwenden Sie die Erstellungsmethode Prozessgenerierung Nullwerte.

Top-down-Datenquellen sind von links nach rechts von der höchsten bis zur niedrigsten Ebene organisiert. Jeder Datensatz beginnt mit den allgemeinsten Informationen und führt zu den spezifischsten Informationen. Der Name des neuen Elements befindet sich am Ende des Datensatzes. Wenn Sie eine Top-down-Datenquelle verwenden, verwenden Sie die Erstellungsmethode für Generierungsreferenzen. Geben Sie in der Laderegel die Generierungsnummer und den Feldtyp jedes Felds der Datenquelle an.

Essbase nummeriert Elemente innerhalb einer Dimension entsprechend der hierarchischen Position des Elements in der Dimension. Die Zahlen werden als Generierungsreferenzen bezeichnet. Eine Dimension ist immer Generation 1. Alle Elemente in derselben Verzweigung in einer Dimension werden als Generation bezeichnet. Generationen werden von oben nach unten nummeriert, je nach ihrer Position relativ zur Dimension, also relativ zur Dimension 1.

Beispiel: Wie unten dargestellt, ist die Dimension {\b Product} die 1. Generation. Das Produkt hat ein 100-Element, die Generation 2. 100 hat Mitglieder, wie 100-10, die Generation 3 sind. Um die Erstellungsmethode für Generierungsreferenzen zu verwenden, geben Sie die Generierungsreferenznummer in der Laderegel an.

Abbildung 14-1: Generationen


Diese Abbildung zeigt Generierungsreferenznummern, wie im Text vor dem Bild beschrieben.

Angenommen, Sie haben einen Cube mit einer Product-Dimension. Die Dimensionen sind Generation 1, daher ist das Produkt Generation 1. Angenommen, Sie möchten die folgende tabulatorgetrennte Datendatei von oben nach unten verwenden, um die Product-Dimension zu erstellen:

500	500-10	500-10-10
500	500-10	500-10-20
500	500-20	500-20-12
500	500-20	500-20-15
500	500-20	500-20-20

Normalerweise führen Sie eine Dimensionserstellung mit der Erstellungsmethode Generation aus, wenn die Elemente der untersten Ebene wie oben gezeigt von rechts nach links sequenziert werden.

Mit der folgenden Regel können Sie die Dimensionen mit Generierungsreferenzen erstellen. Die Regel gibt die Generierungsnummer für jedes Feld in der Datenquelle an. Sie müssen auch die Erstellungsmethode Generation in den Dimensionseigenschaften der Regel auswählen, es sei denn, die Quelldaten enthalten Nullwerte (in diesem Anwendungsfall finden Sie weitere Informationen unter Umgang mit leeren Feldern unten).

Regeldatei für Generierungserstellung. Feld 1: Produkt, Kategorie der 2. Generation. Feld 2: Produkt, Produkt-SKU der 3. Generation. Feld 3: Produkt, 4. Generation mit Namen "Promotions"

Essbase erstellt die folgende Hierarchie aus der Datenquelle und Regel:

Abbildung 14-2: Generierungsreferenzen


Diese Abbildung zeigt die neuen Elemente, die während der Generierungserstellung 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 Nullverarbeitungserstellungsmethoden in den Dimensionseigenschaften, wenn Sie die neue Dimensionserstellungsregel erstellen: Prozessgenerierung Null oder Prozessebene Null.


Null Verarbeitungserstellungsmethoden in Dimensionseigenschaften für eine neue Regel

Wenn Sie die Erstellungsmethode Prozessgenerierung null verwenden, weist sie Essbase an, bei der Verarbeitung von Generierungsreferenzen 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.


Kanaldimension ist Generation 1. Die Hierarchie "Alle Kanäle" ist Generation 2. Die 3. Generation umfasst "Indirekte" und "Direkte" Mitglieder. Indirekt hat Kanal-IDs als untergeordnete Elemente in der 4. Generation. Direct hat Standortmitglieder "Outlet", "Mall" und "Kiosk" der 4. Generation, gefolgt von Kanal-IDs der 5. Generation. Die indirekten Kanal-IDs beziehen sich auf die 4. Generation, während die direkten Kanal-IDs auf die 5. Generation eingestellt sind, was dies zu einer unausgeglichenen/gerissenen Hierarchie macht.

Die Datenquelle ist von oben nach unten, d.h. die höheren Ebenen (in der Nähe des obersten Dimensionselements) werden in jedem Datensatz zuerst angezeigt. Daher ist es sinnvoll, eine Erstellungsmethode für Generierungsreferenzen 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.

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

Mit der Erstellungsmethode Prozessgenerierung 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 genchannel.txt, und laden Sie sie in das Cube-Verzeichnis "Beispielbasis" hoch.

    "All Channels",Indirect,,Channel-04
    "All Channels",Indirect,,Channel-07
    "All Channels",Indirect,,Channel-24
    "All Channels",Direct,Outlet,Channel-21
    "All Channels",Direct,Mall,Channel-29
    "All Channels",Direct,Kiosk,Channel-31
    
  3. Öffnen Sie auf der Seite "Anwendungen" die Anwendung und dann die Datenbank (den 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 Dialogfeld "Datenbankskripte" 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: genchannel.

    2. Wählen Sie unter Quelltyp die Option Datei aus, klicken Sie auf Katalog, und navigieren Sie zu genchannel.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 in das Raster unter den Feldern geladen werden.
      Bild des Regeleditors für die Dimensionserstellung für die neue Regel "Genchannel", 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 Prozessgenerierung Null.


    Abbildung des Fensters "Dimensionen bearbeiten" im Regeleditor für die Dimensionserstellung, wobei "Prozessgenerierung Null" ausgewählt ist.

    Klicken Sie auf "OK".

  10. Klicken Sie im Feld 1 auf den Selektor Dimension, und wählen Sie Kanal aus.


    Bild von Feld 1 im Regeleditor für die Dimensionserstellung, wobei die Dimension "Kanal" ausgewählt ist.

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

  12. Erhöhen Sie die Generation auf 2, da sich das Hierarchieelement "Alle Kanäle" auf Ebene 2 befindet. Das Element der 1. Generation ist immer der Dimensionsname, in diesem Fall der Kanal.

  13. In den Feldern 2 - 4 muss jetzt Kanal als Dimension ausgewählt werden. Ändern Sie die Typselektoren in Generierung, und markieren Sie die Generierungsnummern für Feld 2, 4 für Feld 3 und 5 für Feld 4 als 3.


    Diese Abbildung zeigt eine Regel, die eine Channel-Dimension mit einer Ragged-Hierarchie mit der Erstellungsmethode für die Prozessgenerierung von Nullwerten erstellt. Feld 1 ist definiert als Kanal, Generation, 2 und enthält alle Kanäle. Feld 2 ist definiert als "Kanal", "Generierung", "3" und enthält "Indirekt" für drei Datensätze und "Direkt" für drei Datensätze. Feld 3 ist als Kanal, Generation, 4 definiert und enthält drei Nullfelder und drei Standortfelder (Outlet, Mall und Kiosk). Feld 4 ist definiert als Kanal, Generation, 5 und enthält Kanal-IDs.

  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.

Null-Verarbeitungsablauf für generierungsbasierte Dimensionserstellungen

Wenn die Nullverarbeitung aktiviert ist, verarbeitet Essbase die Generierung von Nullwerten wie folgt:

  • Nullgenerierungsfeld: Wenn der Nullwert auftritt, wenn Essbase ein Generierungsfeld erwartet, stuft Essbase das Feld der nächsten Generation hoch, um das fehlende Feld zu ersetzen.

    Beispiel

    Bei der Dimensionserstellung wird die Kanal-ID anstelle der 5. Generation auf die 4. Generation hochgestuft, da die 4. Generation einen Nullwert enthält.


    Feld 1 ist Kanal, Generation 2 mit allen Kanälen. Feld 2 ist Kanal, Generation 3 mit indirektem Inhalt. Feld 3 ist Kanal, Generation 4 mit einem Nullwert. Feld 4 ist Kanal, Generation 5 mit einer Kanal-ID.

  • Nullfeld vor sekundärem Feld: Wenn ein Nullwert direkt vor einem sekundären Feld auftritt, ignoriert Essbase das sekundäre Feld. (Sekundäre Feldtypen sind Alias, Eigenschaft, Formel, doppelte Generierung, doppelter Generierungsalias, Währungsname, Währungskategorie, übergeordnetes Attribut, UDA und Name einer Attribute-Dimension.)

    Beispiel

    Bei der Dimensionserstellung wird der Alias in Feld 4 ignoriert, da die 4. Generation einen Nullwert enthält. Die Kanal-ID wird anstelle der 5. Generation auf die 4. Generation hochgestuft.


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

  • Sekundäres Nullfeld: Wenn der Nullwert auftritt, wenn Essbase ein sekundäres Feld erwartet, ignoriert Essbase das sekundäre Nullfeld und fährt mit dem Laden fort (dieses Verhalten ist dasselbe wie bei der Erstellungsmethode Generation).

    Beispiel

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


    Feld 1 ist Kanal, Generation 2 mit allen Kanälen. Feld 2 ist Kanal, Generation 3 mit Direct. Feld 3 ist Kanal, Generation 4 mit Outlet. Feld 4 ist Kanal, Alias, das einen Nullwert enthält. Feld 5 ist Kanal, Generation 5 mit einer Kanal-ID.