機械翻訳について

計算スクリプトでの式の使用

計算スクリプトにメンバー式を配置できます。 その場合、式はデータベース・アウトラインのメンバーに適用される競合する式を上書きします。

計算スクリプトでは、次の両方の操作を実行できます:

  • データベース・アウトラインでのメンバー式の計算

  • フォーミュラの定義

データベース・アウトラインのメンバーに適用される式を計算するには、メンバー名の後にセミコロン(;)を付けて使用します。 たとえば、次のコマンドは、データベース・アウトラインのVarianceメンバーに適用される式を計算します:

Variance;

アウトラインの計算結果の値を上書きするには、計算スクリプトで定義した式を手動で適用します。 たとえば、次の式はデータベースを循環し、メンバーPayroll、MarketingおよびMiscに値を追加して、その結果をExpensesメンバーに配置します。 式は、データベース・アウトラインのExpensesメンバーに配置された式を上書きします:

Expenses = Payroll + Marketing + Misc;

ノート:

共有メンバーまたはラベルのみのメンバーには式を適用できません。

参照:

「ブロック・ストレージ・データベースの式の開発」も参照してください。

基本方程式

計算スクリプトで式を使用して、メンバーに値を割り当てることができます。 等式の構文は次のとおりです:

member = mathematical_expression;

memberはデータベース・アウトラインのメンバー名で、mathematical_expressionは任意の有効な数式です。

Essbaseは式を評価し、指定されたメンバーに値を割り当てます。

次の例では、Essbaseがデータベースを循環し、販売の値から売上原価の値を減算して、マージンに結果を配置します:

Margin = Sales - COGS;

この例では、Essbaseがデータベースを循環し、Retailの値からCostの値を減算して、Retailの値の割合として結果値を計算し、その結果をMarkupに配置します:

Markup = (Retail - Cost) % Retail;

式では、> (より大きい)および< (より小さい)論理演算子も使用できます。

次の例では、February salesがJanuary salesより大きい場合、Sales Increase Flagの値は1になり、falseの場合、結果は0になります:

Sales Increase Flag = Sales -> Feb > Sales -> Jan;

条件式

計算スクリプトでメンバー式の一部としてIF文を使用する場合は、次のことを行う必要があります:

  • IF文を単一のメンバーに関連付けます

  • IF文をカッコで囲みます

次の例では、IF…ENDIF文全体がカッコで囲まれ、ProfitメンバーProfit (IF(...)...)に関連付けられています:

Profit
(IF (Sales > 100)
   Profit = (Sales - COGS) * 2;
ELSE
   Profit = (Sales - COGS) * 1.5;
ENDIF;)

Essbaseはデータベースを循環し、次の計算を実行します:

  1. IF文は、現在のメンバーの組合せのSalesの値が100より大きいかどうかを確認します。

  2. Salesが100より大きい場合、EssbaseはSalesの値からCOGSの値を減算し、その差に2を乗算して、その結果をProfitに格納します。

  3. Salesが100以下の場合、EssbaseはSalesの値からCOGSの値を減算し、その差に1.5を乗算して、その結果をProfitに格納します。

相互依存Formula

計算スクリプトで相互依存式を使用する場合は、IF文と同じルールが適用されます。 次の内容を実行する必要があります。

  • 式を単一のメンバーに関連付けます

  • 式をカッコで囲みます

次の例では、式全体がカッコで囲まれ、期首インベントリ・メンバーに関連付けられています:

"Opening Inventory"
(IF(NOT @ISMBR (Jan))
   "Opening Inventory" = @PRIOR("Ending Inventory");
ENDIF;)
"Ending Inventory" = "Opening Inventory" - Sales + Additions;