CALCULATE ROW

Essbaseレポート・ライターのCALCULATE ROWコマンドは、名前付き行を作成し、それを行名またはラベルに関連付けます。これは、変数を宣言することに似ています。このコマンドでは、定数、他の計算された行および演算子で構成される方程式として、演算(+、_、*、/またはOFF)を指定することもできます。

方程式は、宣言の時点で評価されます。演算子が指定されている場合、続く出力行には、計算済行に格納された結果を使用して演算子が適用されます。

これは、小計や合計を取得するための一連の行を集約するのに役立ちます。演算子は、SETROWOPを使用して任意の時点でリセットできます。CALCULATE ROWコマンドに方程式も演算子も指定されていない場合は、+演算子が指定されているものとして処理されます。

SETROWOPでは、後続の出力データ行すべてに適用される計算演算子が定義されます。PRINTROWを使用して、新しく作成した行に計算結果を表示します。

構文

1:

{ CALCULATE ROW "newRow" [ columnNo ] = expression }

2:

{ CALCULATE ROW "newRow" [ operator ]}

パラメータ

"newRow"

引用符で囲まれた新しい行の名前。SAVEROWまたはSAVEANDOUTPUTと一緒に宣言されました。

columnNo

オプション。Essbaseによって式が適用される列数。

expression

行の計算式。メンバー名はサポートされていません。

operator

次のいずれかの算術演算子です。

  • + 加算。

  • - 減算。

  • * 乗算。

  • %X%Y Yの割合としてのX。

  • / 除算。

  • OFF 行演算子をオフにします。

省略されている場合、デフォルトは+ (加算)です。

ノート

  • レポート内に複数の行名列がある場合のために、行名に複数のレベルをチルダ(~)記号で区切って使用できます。たとえば、計算済行の名前がActual~Salesで、レポート内の(PRINTROWを使用した)出力に2つ以上の行名の列がある場合、結果は、Salesは右端の行名列に、Actualはその左の行名列になります。複数レベルの行名が、行名列が1つしかないレポートで使用されている場合は、名前の右端部分のみがレポートに表示されます。

  • CALCULATE ROWは、500行以下を返すように制限されています。

  • 行名の事実上の長さは、出力先の列の幅で制限されます。隣の列の情報を上書きする右側の文字は切り捨てられます。

  • (列ディメンションのメンバー選択を使用して)列を定義する前のポイントで、複数値の配列を計算済行に格納するには、NSを使用して、使用するより多い列数を事前に割り当てられます。指定する値がデータ列よりも少ない場合、配列を使用した処理は最後の配列値の後で停止され、その演算子に基づく残りの列に変更は加えられません。余分な列が現在欠落している場合、それらは欠落状態のままになります。それらが非欠落の場合は、現在の値が保持されます。

  • 式は常に左から右に計算されます。グループ化に丸カッコは使用できない場合があります。

  • 式にメンバー名を含められません。

  • 列を指定するコマンドでは、列の元の順番で決められているとおりの、有効なデータ列番号を使用する必要があります。

  • 式に含まれるすべての演算子の前後には、単一スペースを付ける必要があります。

  • 整数および浮動小数点の定数は、単一エントリまたは配列のメンバーとして式内でサポートされます。

  • 行の計算は、CALCULATE ROW、SETROWOPおよびPRINTROWの3つのコマンドを使用して作成されます。

次のサンプルでは、実行できる行計算を示します。例のTotal Salesは、メンバー名ではなく、計算済行を表すことに注意します。

定数2で除算して"Avg Sales"を計算するには、次のようにします。

{ CALCULATE ROW "Avg Sales" = "Total Sales" / 2 }

計算済行Total Salesの最初の6つのデータ列を6つの係数に乗算し、結果を計算済行Factored Salesに格納するには、次のようにします。

{ CALCULATE ROW "Factored Sales" = "Total Sales" * [1.0 1.3 1.9 2.3 3.0
3.7 ] }

後で計算済行の計算またはPRINTROWの出力(あるいはその両方)で使用するために、Factorsの最初の5つの列の5つの係数を格納するには、次のようにします。

{ CALCULATE ROW "Factors" = [ 1.3 2.6 3.1 2.3 5 ] }

計算済行Ending Salesのすべての列に、Total Salesの7つ目の列の値に1000を乗算して格納するには、次のようにします。

{ CALCULATE ROW "Ending Sales" = "Total Sales" 7 * 1000 }

Ending Salesの列7の値を、行Total Salesの対応する値に設定するには、次のようにします。

{ CALCULATE ROW "Ending Sales"7 = "Total Sales" }

"Total"はこの計算で自己参照し、自身を1000で割ります。

{ CALCULATE ROW "Total" = "Total" / 1000. }

1つの式で使用される様々な演算を示すには、次のような式を使用します。

{ CALCULATE ROW "xyz" = [ 11 12.3 -6 ] / 7 + "abc"2 % 4300. + 10 }

この式は、配列内の3つの値を定数7で除算し(ここでデータ列が3より多い場合、余分な列は#Missingのままになります)、abcの列2の値を各列に加算し、結果行の値を定数4300の割合として計算し、定数10をすべての列に加算して、最終結果をxyzに格納します。データ列が3つより多い場合、余分な列は最後の演算の前に#Missingであったため、その結果は10になることに注意します。