サンプル10: 式の使用

このEssbaseレポート・スクリプトのサンプルは、列計算式を使用して特定の行または定数の列値を操作する方法を示しています。

このレポート・サンプルで、各%列は、該当する四半期のSalesのパーセントとしての四半期の値を表します。さらに、Avg列は2つの四半期の平均値を表します。

                                      Actual Product Market

                              Qtr1      %     Qtr2     %       Avg 
                          ======== ====== ======== ====== ======== 

Sales                      141,245 100.00  136,193 100.00  138,719 
Cost_of_Goods_Sold          58,104  41.14   56,281  41.32   57,193 
  Margin                    83,141  58.86   79,912  58.68   81,527 
Marketing                   11,211   7.94   11,302   8.30   11,257 
Payroll                     43,817  31.02   43,827  32.18   43,822 
Miscellaneous                  302   0.21    1,859   1.36    1,081 
  Total_Expenses            55,330  39.17   56,988  41.84   56,159 
    Profit                  27,811  19.69   22,924  16.83   25,368 
    Profit_%                    20   0.01       17   0.01       18 
    Margin_%                    59   0.04       59   0.04       59 

次のスクリプトを使用してサンプル10を作成します。

// This report performs column calculations based on values in a 
// report row.

<PAGE (Scenario, Product, Market)
Actual

      <COLUMN (Year)
      Qtr1 Qtr2

{ DECIMAL 2 3 4 }
{ NAMEWIDTH 22 WIDTH 7 3 4 } 
{ ORDER 0 1 3 2 4 5 }

<ROW (Accounts)
{ SAVEROW } Sales 
    !

{ CALCULATE COLUMN "%" = 1 % "Sales" 1 }
{ CALCULATE COLUMN "% " = 2 % "Sales" 2 }
{ CALCULATE COLUMN "Avg" = 1 + 2 / 2. }

<DESCENDANTS Accounts
    ! 

ノート:

レポートにコメントを含めるには、テキストの前に//を付けます。レポート・エクストラクタでは、二重スラッシュの後に続くものはすべて無視されます。レポートの処理を説明するためにコメントを使用できます。

SAVEROWコマンドでは、CALCULATE COLUMNコマンドで計算される行メンバーのスペースが予約されます。この場合、計算はSALESに影響します。メンバー名の後に!が必要です。

CALCULATE COLUMNコマンドでは、式に列番号、行名または定数を使用できます。最初の計算は次のように解釈できます: %は、列1のSalesのパーセントとして列1に等しい。

計算済の各列のラベルは一意である必要があります。2番目の計算済列ラベルで、%符号の後に空白スペースがどのように配置されているかに注意します。

定数を指定するには、数値とその後のピリオドを定義します。列または行の計算のいずれかに1つの定数を使用できます。最後の列計算では、列1と2の和が値2で除算されます。この式は(1+2)/2として解釈され、1 + (2/2.)とは解釈されません

サンプル7: 別名の使用に示すように、ORDERコマンドでは列が指定された順序で配置されます。デフォルトでは、計算済列はデータベースから取得された既存の列の末尾に追加されます。この例で列0-2は、選択したメンバーに基づいて自動的に取得されます。列3-5は計算済列です。ORDERコマンドは、取得済列と計算済列の両方に適用されます。