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