強制指定ヘッダー(ヒント)では、変換処理中に表形式データを処理する方法を指定できます。
たとえば、メジャー・ディメンションまたは属性ディメンションとして扱う列を強制できます。 ほとんどの強制指定ヘッダーでは、カッコ([])内にキーワードが必要となります。 強制指定ヘッダーは、テンプレートUnstr_Hints.xlsx
およびSample_Table.xlsx
(ギャラリで使用可能)で示されます。
サポートされている強制指定ヘッダーの形式は次のとおりです。
表6-1 強制指定ヘッダー・フォーマット
指定 | ヘッダー形式 | 例 |
---|---|---|
ディメンションの生成 |
ParentGeneration.CurrentGeneration |
Category.Product |
Alias |
ReferenceGeneration.Generation[alias] |
Year.ShortYearForm[alias] |
属性 |
ReferenceGeneration.AttributeDimName[attr] |
Product.Discounted[attr] |
メジャー |
MeasureName[measure] |
Price[measure] |
メジャー生成 |
Parent.child[measure] 一意の場合、最上位の親はアカウント・ディメンション名です。 一意でない場合、このメンバーはアカウント・ディメンションで自動生成されます。 |
Measures.profit[measure] profit.cost[measure] cost.price[measure] |
メジャー式 |
MeasureName[=formula_syntax;] |
profit[="price"-"cost";] profit[="D1"-"E1";] price[=IF ("S1" == #MISSING) "R1"; ELSE "S1"; ENDIF;] |
メジャーの統合 |
MeasureName[+] : 親に追加 MeasureName[-] : 親から減算 MeasureName[~] : 集計なし([measure]に相当) デフォルトは集計なしです。 |
price.shipment[+] 集計はメジャー・ディメンションに対してのみ定義できます |
式の連結 |
FormulaName[+= <formula> ] : 親に追加 FormulaName[-= <formula> ] : 親から減算 |
profit[+=price-cost] cost.external[+=ExternalWork+ExternalParts] |
UDA |
ReferenceGeneration[uda] |
Product[uda] |
スキップ 列は読み込まれません。 |
ColumnName[skip] |
column[skip] |
定期実行 最後の列のセル値が空のセルに使用されます 繰返しは、他の強制指定と組み合せることができます。カッコ内に強制指定のカンマ区切りリストを含めます(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のディメンションもメジャー・ディメンションとみなされます。