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

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

列ヘッダーとデータ間の関係のパターンが検出され、マルチディメンショナル・キューブがデプロイされます。マルチディメンショナル・キューブで使用できる構造に表形式データを変換するプロセスには、次の概念が含まれています。

  • 列間の相関関係

  • 列タイプ(日付、数値、テキストなど)間の相関関係

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

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

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

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

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

表形式データを操作する場合は、そこからキューブを作成する前にデータを分析する必要があります。キューブの作成後、キューブ・アウトラインが意図したものであるかどうかを判断してください。

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

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

固有のヘッダーでは、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
...

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

強制指定ヘッダー(ヒント)では、変換処理中に表形式データを処理する方法を指定できます。

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

サポートされている強制指定ヘッダーの形式は次のとおりです。

表6-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のディメンションもメジャー・ディメンションとみなされます。