Tabellarische Daten in Cubes umwandeln

Cubes können aus Tabellendaten erstellt werden. Dazu werden Faktentabellen aus einer relationalen Datenbank in eine Excel-Datei extrahiert und der Cube dann bereitgestellt.

Muster in den Beziehungen zwischen Spaltenheader und Daten werden erkannt und beim Deployment des multidimensionalen Cubes berücksichtigt. Der Prozess der Umwandlung von Tabellendaten in eine Struktur, die in einem multidimensionalen Cube verwendet werden kann, beinhaltet die folgenden Konzepte:

  • 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-Instanz oder in Cube Designer erstellen. Siehe Cube aus Tabellendaten erstellen und aktualisieren.

Tabellendaten anhand von intrinsischen Headern in Cubes transformieren

Für die integrierten Header wird das Format table.column verwendet. 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

In Headern mit erzwungener Bezeichnung (Hinweisen) können Sie angeben, wie Tabellendaten 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 mit erzwungener Bezeichnung sind in den Vorlagen Unstr_Hints.xlsx und Sample_Table.xlsx (in der Galerie verfügbar) enthalten.

Unterstützte Formate von Headern mit erzwungener Bezeichnung:

Tabelle 6-1 Formate von Headern mit erzwungener Bezeichnung

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[+=<Formel>]: Zu übergeordnetem Element addieren

FormulaName[-=<Formel>]: Von übergeordnetem 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.