Execute Allocation (集約ストレージ)
MaxL execute allocation文は、1つ以上の指定されたソース金額をEssbase集約ストレージ(ASO)データベースのターゲットのセル範囲に割り当てるために役立ちます。
ソース金額は、指定された基準に比例してターゲットに割り当てることも、ターゲット領域に均等に分散させることもできます。
割当ては、通常、収益やコストを配分するための予算策定プロセスで使用されます。
ASOカスタム計算の実行に必要な最小アプリケーション権限は、データベース更新です。
割当てと入力パラメータの詳細は、集約ストレージ・データベースでのカスタム計算と割当ての実行を参照してください。
キーワード
MaxL execute allocationを使用すると、次の方法でASOカスタム割当てを実行できます。
- execute allocation … pov MDX-SET
-
必須。割当てを実行するコンテキスト領域を定義するMDXセットを指定します。
- execute allocation … amount ALLOC-NUMERIC
-
必須。割り当てる金額を示すMDXの数値式を指定します。
- execute allocation … amountcontext MDX-TUPLE
-
オプション。povおよびamountから欠落している、各ディメンションの1つのメンバーを含むMDXタプルを指定します。この句は、amountが算術式で、povで2つ以上のディメンションが指定されない場合には必須です。それ以外の場合は、使用しません。
- execute allocation … amounttimespan MDX-SET
-
オプション。金額に考慮する1つ以上の期間を示すMDXセットを指定します。指定された期間の金額値が集約され、集約された金額値が割り当てられます。期間は時間ディメンションのレベル0メンバーである必要があります。
- execute allocation … target MDX-TUPLE
-
必須。割当て結果を書き込むデータベース領域を定義するMDXタプルを指定します。
- execute allocation … targettimespan MDX-SET
-
オプション。割当てターゲットに考慮する1つ以上の期間を示すMDXセットを指定します。期間は時間ディメンションのレベル0メンバーである必要があります。
- execute allocation … targettimespanoptions
-
オプションですが、
targettimespan
が使用されている場合は必須です。ターゲットの期間全体で値を割り当てるための方法を選択します。
-
divideamount
–複数の期間で金額を均等に分割します -
repeatamount
–複数の期間で金額を繰り返します
-
- execute allocation … offset MDX-TUPLE
-
オプション。オフセット・エントリ(一般会計の相殺メジャー)が使用されている場合、オフセット値が各ソース金額に書き込まれるデータベース内の場所を定義するMDXタプルを指定します。
- execute allocation … debitmember MDX-MBR
-
オプション。複式簿記を使用する場合は、正の結果値が書き込まれるメンバーを示すMDXメンバー式を指定します。
- execute allocation … creditmember MDX-MBR
-
オプション。複式簿記を使用する場合は、負の結果値が書き込まれるメンバーを示すMDXメンバー式を指定します。
- execute allocation … range MDX-SET
-
必須。割り当てられた値が計算および書き込まれるデータベース領域を示すMDXセットを指定します。
- execute allocation … excludedrange MDX-SET
-
オプション。割当て値の書込みを望まない範囲の場所を指定するMDXセットを指定します。
- execute allocation … basis MDX-TUPLE
-
ほとんどの場合必須です。範囲と組み合せて、金額の割当て方法を決定する基準値の場所を定義する、MDXタプルを指定します。基準は上位レベルまたはレベル0のメンバーで構成できます。
使用される割当て方法がspreadで値がスキップされない場合はオプションですが、それ以外の場合は必須です。割当て方法spreadが、skipオプションなしで使用されている場合は、basisは省略する必要があります。
- execute allocation … basistimespan MDX-SET
-
オプション。基準に考慮する1つ以上の期間を示すMDXセットを指定します。期間は時間ディメンションのレベル0メンバーである必要があります。
- execute allocation … basistimespanoptions
-
オプションですが、basistimespanが使用されている場合は必須です。基準期間を使用する方法を選択します。
-
splitbasis
–各期間の基準値を個別に使用します -
combinebasis
–basistimespanで指定される期間全体にわたる基準値の合計を使用します
-
- execute allocation … share
-
オプション。割当て方法の場合は、金額を基準値に比例して割り当てます。構文については、「ノート」の「割当て方法の指定」を参照してください。
- execute allocation … spread
-
オプション。割当て方法の場合は、金額を均等に割り当てます。構文については、「ノート」の「割当て方法の指定」を参照してください。割当ての分散を使用する場合は、次のスキップ・オプションの1つ以上を含められます。
-
skip_missing
–欠落した基準値をスキップします -
skip_zero
–ゼロの基準値をスキップします -
skip_negative
–負の基準値をスキップします
-
- execute allocation … zeroamountoptions
-
オプション。この構文を省略すると、ゼロまたは#MISSINGの金額値が割り当てられます。空の値を割り当てない場合は、その処理方法を指定します:
-
skip_to_next_amount
–次のゼロ以外、#MISSING以外の金額値までスキップします -
abort
–割当て操作全体をキャンセルします
-
- execute allocation … zerobasisoptions
-
オプション。shareの割当て方法の場合、このオプションはすべての基準値の合計がゼロの場合のアクションを指定します。spreadの割当て方法の場合、このオプションはすべての基準値がスキップされたときのアクションを指定します。次のいずれかのオプションを選択してください:
-
skip_to_next_amount
–次のゼロ以外、#MISSING以外の金額値までスキップします -
abort
–割当て操作全体をキャンセルします
-
- execute allocation … round
-
オプションの丸め指定。丸め処理方法を指定するには、INTEGERまたはMDX-NUMERIC、および後続のオプションの1つを選択します。
-
round INTEGER|MDX-NUMERIC
–整数またはMDX数値式を使用して、指定された小数位の数まで丸め処理を行います。値は100から-100の間である必要があり、整数でない場合は切り捨てられます。 -
discard errors
–丸め処理を実行しますが、丸め誤差は破棄します。 -
errors_to_lowest
-丸め誤差を割当て済の最低値に追加します。 -
errors_to_highest
-丸め誤差を割当て済の最高値に追加します。 -
errors_to_location MDX-TUPLE
-丸め誤差を追加するセルを示すMDXタプルを指定します。
-
- execute allocation … [override]|add|subtract values
-
オプション。ASOカスタム割当てによって生成された値は、既存の値に上書きするかわりに加算(または減算)できます。上書きがデフォルトです。
フェデレーテッド・パーティションがある集約ストレージ・キューブでカスタム割当てを実行する場合は、既存の値のみをオーバーライドできます。既存の値に対する加算や減算はできません。
ノート
-
withキーワードに続く句は、それぞれを空白文字で区切って任意の順番で入力できます。
-
各句は、1回だけ入力できます。
-
pov、amount、target、rangeおよびbasis句は必須で、その他はオプションです。
-
すべての句に保管済のレベル0メンバーのみを指定できますが、amount、amountcontext、basisおよび丸め桁の数は例外です。その他すべての引数について、上位レベルのメンバー、属性メンバーまたは動的計算メンバーを使用しないようにします。
割当て方法の指定

丸め処理方法の指定

例
次の文は割当てを実行します。
execute allocation process on database glrpt.db with
pov "Crossjoin({[VisionUS]},
Crossjoin({[5740]},
Crossjoin({[USD]},
Descendants([Geography],[Geography].Levels(0)))))"
amount "Jan + Feb"
amountcontext "([100], [Beginning Balance], [Actual], [CostCenter1])"
target "([Allocation], [CostCenter1])"
offset "([Allocation], [CostCenter1], [100], [YearNA])"
debitmember "[Debit]"
creditmember "[Credit]"
range "Crossjoin(Descendants([999], [Department].Levels(0)),
Descendants([Year], [Year].Levels(0)))"
excludedrange "{[9994], [9995], [9996]}"
basis "([SQFT], [Balance], [Actual], [CostCenter2])"
share
zeroamountoptions abort
zerobasisoptions abort
negativebasisoptions zero_value
targettimespanoptions divideamount
round "Currency.CurrentMember.CurrencyPrecision"
errors_to_location "([101], [Jan])"
add values;