Tabellarische Daten in Cubes umwandeln

Sie können einen Essbase-Cube aus tabellarischen Daten erstellen. Dazu werden Faktentabellen aus einer relationalen Datenbank in eine Excel-Datei extrahiert und der Cube dann mit Cube Designer oder der Essbase-Weboberfläche bereitgestellt.

Essbase erkennt Muster in den Beziehungen zwischen Spaltenheadern und Daten und verwendet sie zum Deployment eines multidimensionalen Cubes. Die Strukturen, die Essbase zum Transformieren von tabellarischen Daten in einen mehrdimensionalen Cube verwendet, umfassen:

  • Korrelationen zwischen Spalten

  • Korrelationen zwischen Spaltentypen (etwa Datum, Nummer und Text)

  • Headertextanalyse für allgemeine Präfixe und auf Business Intelligence bezogene Begriffe (etwa Kosten, Preis, Konto)

  • Berichtsstruktur (beispielsweise zusammengeführte und leere Zellen)

  • (Optional) Header mit erzwungener Bezeichnung, die verwendet werden, um die Form eines Cubes explizit zu definieren. Sie können Formeln enthalten, mit denen Measures-Dimensionen erstellt werden.

  • Kennzahlhierarchien (die auch unter "Daten transformieren" in Cube Designer generiert werden können).

Excel-Dateien mit Tabellendaten als Beispiel werden bereitgestellt, um die Konzepte von integrierten Headern und Headern mit erzwungenen Bezeichnungen zu demonstrieren.

Wenn Sie mit Tabellendaten arbeiten, sollten Sie die Daten analysieren, bevor Sie einen Cube daraus erstellen. Prüfen Sie nach der Erstellung des Cubes, ob die Modellstruktur des Cubes Ihren Vorstellungen entspricht.

Sie können einen Cube aus Tabellendaten in der Essbase-Weboberfläche oder in Cube Designer erstellen. Siehe Cube aus Tabellendaten erstellen und aktualisieren.

Tabellendaten anhand von intrinsischen Headern in Cubes transformieren

Intrinsische Header verwenden das Format table.column. Es wird in der Datei Sample_Table.xlsx gezeigt. In dieser Beispieldatei haben die Spaltenheader Namen wie Units, Discounts, Time.Month, Regions.Region und Product.Brand.

Vom Transformationsprozess wird die folgende Hierarchie erstellt:

Units
Discounts
Fixed Costs
Variable Costs
Revenue
Time
   Month
   Quarter
Years
Regions
   Region
   Area
   Country
Channel
Product
   Brand
...

Tabellendaten anhand von Headern mit erzwungener Bezeichnung in Cubes transformieren

Wenn Sie tabellarische Daten in eine Essbase-Datenbank transformieren, können Header mit erzwungener Zuweisung (auch als Hints bezeichnet) angeben, wie tabellarische Daten während des Transformationsprozesses verarbeitet werden sollen.

Sie können erzwingen, dass eine Spalte als Measures- oder Attribute-Dimension behandelt wird. Die meisten Header mit erzwungener Bezeichnung erfordern ein Schlüsselwort in Klammern [ ]. Header, die erzwungener Bezeichnung unterliegen, sind in den Vorlagen Unstr_Hints.xlsx und Sample_Table.xlsx (beide im Galerieabschnitt des Essbase-Dateikatalogs verfügbar) dargestellt.

Unterstützte Formate von Headern mit erzwungener Bezeichnung:

Tabelle 5-1: Headerformate für Zwangszuweisung

Bezeichnung Headerformat Beispiel
Dimension generation

ParentGeneration.CurrentGeneration

Category.Product

Alias

ReferenceGeneration.Generation[alias]

Year.ShortYearForm[alias]

Attribute

ReferenceGeneration.AttributeDimName[attr]

Product.Discounted[attr]

Measures

MeasureName[measure]

Price[measure]

Measure generation

Parent.child[measure]

Das oberste übergeordnete Element (sofern eindeutig) ist der Accountdimensionsname. Wenn dieses Element nicht eindeutig ist, wird es automatisch in der Accountdimension generiert.

Measures.profit[measure]

profit.cost[measure]

cost.price[measure]

Measures formula

MeasureName[=formula_syntax;]

profit[="price"-"cost";]

profit[="D1"-"E1";]

price[=IF ("S1" == #MISSING) "R1"; ELSE "S1"; ENDIF;]

Measures consolidation

MeasureName[+]: Zu übergeordnetem Element addieren

MeasureName[-]: Von übergeordnetem Element subtrahieren

MeasureName[~]: Keine Konsolidierung (gleichbedeutend mit [measure])

Standardmäßig erfolgt keine Konsolidierung.

price.shipment[+]

Konsolidierung kann nur für Kennzahldimension definiert werden

Formula consolidation

FormulaName[+=<formula>]: Zu übergeordnetem Element hinzufügen

FormulaName[-=<formula>]: vom übergeordneten Element subtrahieren

profit[+=price-cost]

cost.external[+=ExternalWork+ExternalParts]

UDA

ReferenceGeneration[uda]

Product[uda]

Skip

Die Spalte wird nicht gelesen.

ColumnName[skip]

column[skip]

Recur

Für leere Zellen wird der Wert der letzten Zelle in der Spalte verwendet.

Wiederholung kann mit anderen erzwungenen Bezeichnungen kombiniert werden. Schließen Sie eine durch Komma getrennte Liste erzwungener Bezeichnungen in Klammern ein, ColumnName[designationA,recur].

ColumnName[recur]

Product[recur]

Product[uda,recur]

Sie können Spalten als Measures-Dimensionen angeben und die Measures-Dimensionen während des Transformationsprozesses anhand von berechneten Daten erstellen. Die Header mit erzwungener Bezeichnung für Kennzahlen und Kennzahlenformeln erhalten den Namen der Measures-Dimension gefolgt von einem Schlüsselwort oder einer Formel in eckigen Klammern, die an den Namen der Measures-Dimension angehängt wird.

Sie können Kennzahlen und Formeln auch konsolidieren, indem Sie sie zum übergeordneten Element addieren oder davon subtrahieren.

Um eine Spalte als Measures-Dimension anzugeben, geben Sie im Spaltenheader den Namen der Measures-Dimension ein, und hängen Sie dann das Schlüsselwort [measure] an. Sie können beispielsweise die Spalten "Units" und "Fixed Costs" mit der folgenden Syntax als Measures-Dimensionen angeben: Units[measure] und Fixed Costs[measure].

Vom Transformationsprozess wird die folgende Hierarchie erstellt, wobei Units, Discounts, Fixed Costs, Variable Costs und Revenue Kennzahlen sind:

Time
   Year
      Quarter
         Month
Regions
   Region
      Area
         Country
...
Product
   Brand
...
Units
Discounts
Fixed Costs
Variable Costs
Revenue

Sie können eine Kennzahlgenerationshierarchie (parent.child[measure]-Hierarchie) ähnlich wie reguläre Dimensionsgenerationen erstellen.

Beispiel: Um eine Kennzahlhierarchie zu erstellen, geben Sie Measures.profit[measure], profit.cost[measure] und cost.price[measure] ein. Dadurch entsteht die folgende Hierarchie:

Measures
      profit
            cost
                price

Um Measures-Dimensionen aus Formeln zu erstellen, geben Sie im Spaltenheader den Namen der Measures-Dimension ein, und hängen Sie dann die Formelsyntax in eckigen Klammern [] an. Die Formel in den eckigen Klammern muss mit einem Gleichheitszeichen (=) beginnen und mit einem Semikolon (;) enden. Die Argumente in der Formel entsprechen Spaltennamen oder Zellenkoordinaten. Sie müssen in Anführungszeichen eingeschlossen werden. Sie können Berechnungsfunktionen und Befehle von Essbase in der Formel verwenden.

Ausgegangen wird von einer Excel-Datei namens Spend_Formulas.xlsx mit Tabellendaten im Arbeitsblatt "SpendHistory". Das Arbeitsblatt hat viele Spalten. Es gibt beispielsweise Dimensionen namens Year (Spalte A) und Quarter (Spalte B) sowie Measures-Dimensionen namens Spend (Spalte J) und Addressable Spend (Spalte K). Diese Spalten sind mit Daten gefüllt. Darüber hinaus gibt es Spaltenheader, die anhand von Formeln Measures-Dimensionen erstellen. Diese Spalten sind nicht mit Daten gefüllt. Um beispielsweise die Dimension "Total Spend" zu erstellen, wird für den Header der Spalte 0 die folgende Essbase-Formel verwendet: Measure.Total Spend[="Addressable Spend" + "Non-Addressable Spend";]. Um die Dimension "AddSpendPercent" zu erstellen, wird für den Header in Spalte P die folgende Essbase-Formel verwendet: Measure.AddSpendPercent[="Addressable Spend"/"Total Spend";].

Vom Transformationsprozess wird die folgende Hierarchie erstellt:


Bild der Vorschau der Tabellendatentransformation

Der Transformationsprozess kann auch Measures-Dimensionen identifizieren, wenn ein Dimensionsname dupliziert wird. Es wird von einem Spaltenheader ausgegangen, für den die Dimension "Meas" mit der Formel Meas.profit[="a1"-"b1";] erstellt wird. Wenn Sie in einem anderen Spaltenheader den Dimensionsnamen "Meas" als übergeordnete Dimension verwenden, z.B. Meas.Sales, gilt auch die Sales-Dimension als eine Measures-Dimension.