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

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

Essbase erstellt die folgende Hierarchie aus der Datenquelle und Regel:
Abbildung 14-2: Generierungsreferenzen

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.

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.

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-31Mit 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,
-
Importieren/erstellen Sie den Beispiel-Basic-Cube mit der Anwendungsarbeitsmappe, die in der Galerie im Dateikatalog auf dem Essbase-Server verfügbar ist.
-
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 -
Öffnen Sie auf der Seite "Anwendungen" die Anwendung und dann die Datenbank (den Cube).
-
Wählen Sie die Registerkarte Skripte aus, und klicken Sie auf Regeln.

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

-
Im Dialogfeld "Neue Regel"
-
Geben Sie einen Regelnamen ein. Beispiel: genchannel.
-
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.
-
Lassen Sie die Felder Kopfzeilendatensatznummer und Dimensionserstellungsdatensatznummer auf 0. Header-Datensätze sind für Dimensionserzeugungen nicht nützlich.
-
Klicken Sie auf Fortfahren.
-
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.

-
-
Da es sich um eine neue Regel handelt, sind noch keine Dimensionen zugeordnet.
- Klicken Sie auf Dimensionen.

- Geben Sie den neuen Dimensionsnamen Channel ein, und klicken Sie auf Hinzufügen.
- Klicken Sie auf Dimensionen.
-
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.
-
Ändern Sie Build-Methode in Prozessgenerierung Null.

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

-
Ändern Sie den Selektor Typ von Feld 1 in Generierung.
-
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.
-
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.

-
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.
-
Führen Sie den Dimensionserstellungsjob aus.
-
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.

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

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