機械翻訳について

@MDALLOCATE

メンバー、ディメンション間メンバー、または複数のディメンションにわたる値から値を割り当てます。 配賦は様々な基準に基づいています。

この関数は、上位レベルで入力された値を複数のディメンションの下位レベルのメンバーに割り当てます。 配賦は、指定された共有または別の変数の分散に基づきます。 割当済の値に端数処理パラメータを指定し、端数処理エラーを計上できます。

構文

@MDALLOCATE (amount, Ndim, allocationRange1 ... allocationRangeN,basisMbr, [roundMbr], method [, methodParams]
  [, round [, numDigits][, roundErr]])

パラメータ

amount

allocationRangeに割り当てられる値を含む値、メンバーまたはディメンション間メンバー。 値は定数にすることもできます。

  • amountがメンバーの場合、メンバーはallocationRangeが属するディメンションのものである必要があります。

  • amountがディメンション間メンバーの場合、メンバーにはすべてのallocationRangeのすべてのディメンションのメンバーが含まれている必要があります。

  • メンバーまたはディメンション間メンバーがallocationRangeディメンションのものでない場合、Essbaseに警告メッセージが表示されます。

amountパラメータがロードされた値の場合、「動的計算」メンバーにすることはできません。

Ndim

値が割り当てられるディメンションの数。

allocationRange1 ... allocationRangeN

amountの値が割り当てられている複数のディメンションのメンバー、メンバー・セット関数または範囲関数のカンマ区切りリスト。

basisMbr

配賦の基準として使用される値を含む値、メンバーまたはディメンション間メンバー。 指定したmethodによって、基準データの使用方法が決まります。

roundMbr

オプション。 端数処理エラーが追加されるメンバーまたはディメンション間メンバー。 このメンバー(またはディメンション間メンバーのいずれかのメンバー)は、allocationRangeに含まれている必要があります。

method

値の割当て方法を決定する式。 次のいずれかになります:

  • share: basisMbrを使用してシェア率を計算します。 配分率は、allocationRange->の現在のメンバーのbasisMbrの値を、その基準メンバーのallocationRange全体の合計で除算して計算されます:

    amount * (@CURRMBR()-> basisMbr / @SUM(allocationRange -> basisMbr)) 
  • spread : amountallocationRange全体に分散します :

    amount * (1/@COUNT(SKIP,allocationRange)) 
  • SKIPNONE | SKIPMISSING | SKIPZERO | SKIPBOTH: 分散の計算中に無視される値。 SKIPパラメータは、spreadにのみ指定する必要があります。

    • SKIPNONE: すべてのセルを含めます。

    • SKIPMISSING: basisMbrのすべての#MISSING値を除外し、basisMbrが欠落しているallocationRangeの値の#MISSINGを格納します。

    • SKIPZERO: basisMbrのすべてのゼロ(0)値を除外し、basisMbrがゼロのallocationRangeの値に対して#MISSINGを格納します。

    • SKIPBOTH: すべてのゼロ(0)値およびすべての#MISSING値を除外し、basisMbrがゼロ(0)または#MISSINGであるallocationRangeの値の#MISSINGを格納します。

  • percent : allocationRangeのメンバーごとにbasisMbrからパーセンテージ値を取得し、そのパーセンテージ値をamountに適用します :

    amount * (@CURRMBR()->basisMbr * .01).
  • add : allocationRangeのメンバーごとにbasisMbrから値を取得し、その値をamountに追加します :

    amount + @CURRMBR()-> basisMbr
  • subtract : allocationRangeのメンバーごとにbasisMbrから値を取得し、amountからその値を減算します :

    amount - @CURRMBR()->basisMbr
  • multiply : allocationRangeのメンバーごとにbasisMbrから値を取得し、その値にamountを乗算します :

    amount * @CURRMBR()->basisMbr
  • divide : allocationRangeのメンバーごとにbasisMbrから値を取得し、その値をamountで除算します :

    amount/@CURRMBR()->basisMbr
round

オプション。 次のいずれかになります:

  • noRound: 丸めは行われません。 これはデフォルトです。

  • roundAmt: 割り当てられた値を丸めることを示します。 roundAmtを指定する場合は、丸めの小数点以下の桁数を示すnumDigitsも指定する必要があります。

numDigits

丸める小数点以下の桁数を表す整数。 roundAmtを指定する場合は、numDigitsを指定する必要があります。

  • numDigitsが0の場合、割り当てられた値は最も近い整数に丸められます。 numDigitsのデフォルト値は0です。

  • numDigitsが0より大きい場合、割り当てられる値は指定された小数点以下の桁数に丸められます。

  • numDigitsが負の値の場合、割り当てられる値は10の累乗に丸められます。

roundAmtを指定する場合は、roundErrパラメータも指定できます。

roundErr

オプション。 丸めエラーを配置する場所を指定する式。 roundErrを指定するには、roundAmtを指定する必要があります。 roundErrを指定しない場合、Essbaseは丸めエラーを破棄します。

roundErrを指定するには、次のいずれかを選択します:

  • errorsToHigh: 割当て値が最も大きいメンバーに丸めエラーを追加します。 割り当てられた値が同一の場合、allocationRangeの最初の値に丸めエラーが追加されます。

  • errorsToLow: 割り当てられた値が最も小さいメンバーに丸めエラーを追加します。 割り当てられた値が同一の場合、allocationRangeの最初の値に丸めエラーが追加されます。#MISSINGはリスト内の最小値として扱われます。複数の値が#MISSINGの場合、丸めエラーはリスト内の最初の#MISSING値に追加されます。

  • errorsToMbr: 指定されたroundMbrに丸めエラーを追加します。これは、allocationRangeに含まれている必要があります。

ノート

  • 計算スクリプトでこの関数を使用する場合は、FIX文内で使用します。たとえば、割当て量がロードされるメンバーに対してFIXを使用します。 FIXは必須ではありませんが、使用すると計算時間が短縮される可能性があります。

  • @MDALLOCATEを使用したより複雑な例は、「複数のディメンション間での値の割当て」を参照してください。

  • allocationRangeリストが非常に大きい場合は、計算中にEssbaseからエラー・メッセージが返されることがあります。

Sample Basicデータベースの次の例を考えてみます。 Budget->Total Expenses->East (JanおよびColas)にデータ値500がロードされます。 (この例では、Total Expensesが「動的計算」メンバーではないと仮定します。)

Eastの子ごとに、各経費カテゴリに金額を配賦する必要があります。 Eastの各子の割当ては、Total Expenses->Actualの子シェアに基づきます:

FIX("Total Expenses")
Budget = @MDALLOCATE(Budget->"Total Expenses"->East,2,
   @CHILDREN(East),@CHILDREN("Total Expenses"),Actual,,share);
ENDFIX 

この例では、次のレポートが作成されます:

                                    Jan       Colas             
                        Marketing   Payroll   Misc   Total Expenses
                        =========   =======   ====   ==============
Actual  New York          94          51        0         145
        Massachusetts     23          31        1          55
        Florida           53          54        0         107
        Connecticut       40          31        0          71
        New Hampshire     27          53        2          82
          East           237         220        3         460
Budget  New York         102.174      55.435    0         #MI
        Massachusetts     25          33.696    1.087     #MI
        Florida           57.609      58.696    0         #MI
        Connecticut       43.478      33.696    0         #MI
        New Hampshire     29.348      57.609    2.173     #MI
          East           #MI          #MI       #MI       500

関連項目

@ALLOCATE