Execute Calculation (集約ストレージ)
MDXで表されたカスタム計算スクリプトを実行し、スクリプト・ファイル、ソース・リージョンおよび視点(POV)を指定します。 オプションで、ターゲット、オフセット、および借方メンバーまたは貸方メンバーを指定します。
最低限必要な権限: データベースの更新。
カスタム計算スクリプト・パラメータの詳細は、「集約ストレージ・データベースでのカスタム計算および割当ての実行」を参照してください。
キーワード
- local script_file
-
必須。 指定されたローカル計算スクリプト・ファイルを実行します。 カスタム計算スクリプトはMDXで表されます。 次に、カスタム計算スクリプト
script.txt
の例を示します。(AccountA,Proj1) := 100; ([AccountB], [Proj1]) := ([AccountB], [Proj1]) * 1.1; (AccountC,Proj1) := ((AccountB,Proj1,2007) + (AccountB, Proj1)) / 2; (AccountA,Proj2) := ((AccountD,Proj1) + (AccountB,Proj2)) / 2;
カスタム計算スクリプトの記述の詳細は、「集約ストレージ・データベースでのカスタム計算および割当ての実行」を参照してください。
- pov <mdx-set>
-
必須。 計算が実行されるコンテキスト・リージョンを定義するMDXセットを指定します。 計算スクリプトは、POVリージョンのすべてのクロス積に対して1回実行されます。
- sourceregion <mdx-set>
-
必須。 スクリプト内の式で参照されるキューブのリージョンを指定するMDXセットを指定します。 少なくとも、ソース・リージョンには、カスタム計算スクリプトの代入文の右側のすべてのメンバーが含まれている必要があります。
- target <mdx-tuple>
-
オプション。 結果が書き込まれるデータベース・リージョンを定義するMDXタプルを指定します。 タプルで使用できるのは、保管されているlevel-0メンバーのみです。上位レベルのメンバー、属性メンバーまたは動的計算メンバーは使用できません。
- debitmember <mdx-mbr>
-
オプション。 二重入力アカウンティングを使用する場合は、正の結果値が書き込まれるメンバーを示すMDXメンバー式を指定します。 保管済のlevel-0メンバーのみを指定できます。上位レベルのメンバー、属性メンバーまたは動的計算メンバーは使用しないでください。
- creditmember <mdx-mbr>
-
オプション。 二重入力アカウンティングを使用する場合は、負の結果値が書き込まれるメンバーを示すMDXメンバー式を指定します。 保管済のlevel-0メンバーのみを指定できます。上位レベルのメンバー、属性メンバーまたは動的計算メンバーは使用しないでください。
- offset <mdx-tuple>
-
オプション。 オフセット・エントリを使用する場合は、各ソース金額のオフセット値が書き込まれるデータベース内のロケーションを定義するMDXタプルを指定します。 タプルで使用できるのは、保管されているlevel-0メンバーのみです。上位レベルのメンバー、属性メンバーまたは動的計算メンバーは使用できません。
- override|add|subtract values
-
オプション。 生成された計算値は、上書きするかわりに既存の値に加算(または減算)できます。 上書きがデフォルトです。
ノート
-
各条項は一度だけ入力できます。
-
script_file、povおよびsourceregion句は必須ですが、その他はオプションです。
-
sourceregion指定に続くオプションの句は、空白で区切って任意の順序で入力できます。
-
カスタム計算スクリプトでは、割当て文の左側に格納されているlevel-0メンバーのみを指定できます。上位レベルのメンバー、属性メンバーまたは動的計算メンバーは使用できません。
-
次の句には、格納されているlevel-0メンバーのみを指定できます: DebitMember、CreditMember、ターゲットおよびオフセット。
例
次の文は、前述のscript.txt
を実行します。 サンプルのユースケースは、「集約ストレージ・データベースでのカスタム計算および割当ての実行」を参照してください。
execute calculation on database app.db with
local script_file "script.txt"
POV "Crossjoin({[VisionUS]},
Crossjoin({[101]},
Crossjoin ({[Jan]},
Crossjoin({[Scenario]},
Descendants(Geography, Geography.Levels(0))))))"
SourceRegion "Crossjoin({[AccountB], [AccountD]},
Crossjoin({[Proj1], [Proj2]}, {[2007]}))"
Target "(Allocation)"
DebitMember "[BeginningBalance_Debit]"
CreditMember "[BeginningBalance_Credit]"
Offset "([Account_000], [Project_000])"
add values;