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
RevenueSie 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:

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.