キューブへの表形式データの変換

表形式データからEssbaseキューブを作成するには、リレーショナル・データベースからExcelファイルにファクト表を抽出してから、キューブ・デザイナまたはEssbase Webインタフェースを使用してキューブをデプロイします。

Essbaseは、列ヘッダーとデータ間の関係のパターンを検出して、これを使用してマルチディメンショナル・キューブをデプロイします。表形式データをマルチディメンショナル・キューブに変換するためにEssbaseが使用する構造は次のとおりです:

  • 列間の相関関係

  • 列タイプ(日付、番号およびテキストなど)の相関関係

  • 共通の接頭辞およびビジネス・インテリジェンス関連の用語(費用、価格、勘定科目など)のヘッダー・テキスト分析

  • レポート構造(マージされたセルおよび空のセルなど)

  • (オプション)キューブの形状を明示的に定義するために使用され、メジャー・ディメンションを作成する式を含めることができる強制指定ヘッダー。

  • メジャー階層(キューブ・デザイナの「データの変換」で生成することも可能)。

サンプルの表形式データのExcelファイルが、固有および強制指定ヘッダーの概念を示すために提供されます。

表形式データを操作する場合、データを分析してからそのデータからキューブを作成する必要があります。キューブの作成後、キューブのアウトラインが想定したとおりかどうか判定する必要があります。

キューブは、Essbase Webインタフェースまたはキューブ・デザイナの表形式データから作成できます。「表形式データからのキューブの作成および更新」を参照してください。

固有のヘッダーを使用した表形式データのキューブへの変換

固有のヘッダーは、Sample_Table.xlsxファイルで示されているtable.column形式を使用しています。このサンプル・ファイルでは、列ヘッダーの名前はUnits、Discounts、Time.Month、Regions.RegionおよびProduct.Brandなどがあります。

変換プロセスでは、次の階層が作成されます。

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

強制指定ヘッダーを使用した表形式データのキューブへの変換

表形式データをEssbaseデータベースに変換する場合、強制指定ヘッダー(ヒントとも呼ばれる)を使用すると、変換プロセスでの表形式データの処理方法を指定できます。

たとえば、メジャーまたは属性ディメンションとして扱う列を強制できます。ほとんどの強制指定ヘッダーでは、カッコ([])内にキーワードが必要となります。強制指定ヘッダーは、テンプレートUnstr_Hints.xlsxおよびSample_Table.xlsx (両方ともEssbaseファイル・カタログのギャラリ・セクションで使用可能)で示されます。

サポートされている強制指定ヘッダーの形式を次に示します:

表5-1 強制指定ヘッダーの形式

指定 ヘッダー形式
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]

一意の場合、最上位の親は勘定科目ディメンション名です。一意でない場合、このメンバーは勘定科目ディメンションで自動生成されます。

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[+] : 親に加算

MeasureName[-] : 親から減算

MeasureName[~] : 集計なし([measure]に相当)

デフォルトは集計なしです。

price.shipment[+]

集計はメジャー・ディメンションに対してのみ定義できます

Formula consolidation

FormulaName[+=<formula>] : 親に加算

FormulaName[-=<formula>] : 親から減算

profit[+=price-cost]

cost.external[+=ExternalWork+ExternalParts]

UDA

ReferenceGeneration[uda]

Product[uda]

Skip

列は読み込まれません。

ColumnName[skip]

column[skip]

Recur

最後の列のセル値が空のセルに使用されます

繰返しは、他の強制指定と組み合せることができます。カッコ内に強制指定のカンマ区切りリストを含めます(ColumnName[designationA,recur])。

ColumnName[recur]

Product[recur]

Product[uda,recur]

メジャー・ディメンションとなる列を指定したり、式を使用して、変換プロセス中に計算されたデータでメジャー・ディメンションを作成したりできます。メジャーおよびメジャー式の強制指定ヘッダーは、メジャー・ディメンションの名前に、角カッコで囲んだキーワードまたは式を続けることによって指定できます。

メジャーおよび式は、親に加算または親から減算することによって集計することもできます。

メジャー・ディメンションとなる列を指定するには、列ヘッダーで、メジャー・ディメンションの名前を入力してから、その後からキーワード[measure]を付加します。たとえば、Units[measure]およびFixed Costs[measure]という構文を使用して、Units列およびFixed Costs列をメジャー・ディメンションとして指定できます。

変換プロセスでは、Units、Discounts、Fixed Costs、Variable CostsおよびRevenueをメジャーとして、次のような階層が作成されます。

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

メジャー生成階層(parent.child[measure]階層)は、通常のディメンション生成の作成と同様の方法で作成できます。

たとえば、メジャー階層を作成するには、Measures.profit[measure]、profit.cost[measure]およびcost.price[measure]を入力します。これにより、次の階層が生成されます:

Measures
      profit
            cost
                price

式からメジャー・ディメンションを作成するには、列ヘッダーで、メジャー・ディメンションの名前を入力し、カッコ([])で囲んで式の構文を付加します。カッコ内では、等号(=)で式を開始し、セミコロン(;)で式を終了します。式の引数は、列名またはセル座標に対応しており、引用符で囲む必要があります。式には、Essbaseの計算関数とコマンドを使用できます。

Spend_Formulas.xlsxという名前のExcelファイルがあり、多数の列を含むSpendHistoryワークシートに表形式データがあるとします。たとえば、Year (列A)とQuarter (列B)という名前のディメンション、およびSpend (列J)とAddressable Spend (列K)という名前のメジャー・ディメンションがあります。これらの列にはデータがあります。そして、式を使用してメジャー・ディメンションを作成する列ヘッダーがあります。これらの列にはデータがありません。たとえば、Total Spendディメンションを作成するには、列OのヘッダーでMeasure.Total Spend[="Addressable Spend" + "Non-Addressable Spend";]というEssbase式を使用します。AddSpendPercentディメンションを作成するには、列PのヘッダーでMeasure.AddSpendPercent[="Addressable Spend"/"Total Spend";]というEssbase式を使用します。

変換プロセスでは、次の階層が作成されます。


表形式データ変換のプレビューのイメージ。

変換プロセスでは、ディメンション名が重複する場合にメジャー・ディメンションを識別することもできます。Measディメンションを作成するMeas.profit[="a1"-"b1";]という式を使用する列ヘッダーがあるとします。他の列のヘッダーにMeas.Salesのように最上位の親としてMeasディメンション名を使用している場合は、Salesディメンションもメジャー・ディメンションとみなされます。