機械翻訳について

@ALLOCATE

メンバー、ディメンション間メンバー、またはメンバー・リスト全体の値から値を割り当てます。 配賦は様々な基準に基づいています。

この関数は、上位レベルで入力された値を下位レベルのメンバーに割り当てます。 配賦は、指定された共有または別の変数の分散に基づきます。 たとえば、親メンバーにロードされた値をそのすべての子メンバーに割り当てることができます。 割当済の値に端数処理パラメータを指定し、端数処理エラーを計上できます。

構文

@ALLOCATE (amount, allocationRange, basisMbr, [roundMbr],method [, methodParams] [, round [, numDigits][, roundErr]])

パラメータ

amount

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

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

  • amountがディメンション間メンバーの場合、そのメンバーの少なくともいずれかがallocationRangeが属するディメンションのメンバーである必要があります。

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

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

allocationRange

amountの値が割り当てられるメンバー、メンバー・セット関数または範囲関数のカンマ区切りリスト。allocationRangeは、複数のレベル(@DESCENDANTS(Product)など)からではなく、単一のレベル(たとえば、@CHILDREN(Total Expenses))からのみ作成する必要があります。

basisMbr

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

roundMbr

オプション。 端数処理エラーが追加されるメンバーまたはディメンション間メンバー。 メンバー(またはディメンション間メンバーの少なくとも1つのメンバー)が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: 丸めは行われません。noRoundがデフォルトです。

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

numDigits

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

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

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

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

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

roundErr

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

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

  • errorsToHigh: 割当て値が最も大きいメンバーに丸めエラーを追加します。 割り当てられた値が同一の場合、allocationRangeの最初の値に丸めエラーが追加されます。 (このオプションでは、Essbaseは#MIとゼロ値を区別しません。)

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

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

ノート

  • 計算スクリプトで@ALLOCATEを使用する場合は、FIX文内で使用します。たとえば、割当て量がロードされるメンバーではFIXを使用します。 FIXは必須ではありませんが、FIXを使用すると計算のパフォーマンスが向上する場合があります。

  • メンバー式で@ALLOCATEを使用する場合、式は次のようになります:

    Member Name = @ALLOCATE (...)

    これは、割当て関数が値を戻すことはなく、指定された範囲に基づいて内部的に一連の値を計算するためです。

  • @ALLOCATE関数での端数処理エラー処理の使用方法を説明する例は、「ディメンション内での値の割当て」を参照してください。

Sample Basicデータベースの次の例を考えてみます。 この例では、Scenarioディメンションに前年の実績費用の追加メンバーPY Actualが含まれていると仮定しています。 7000および8000のデータ値は、それぞれJanおよびFebの予算->費用合計にロードされます。 (この例では、Total Expensesが「動的計算」メンバーではないと仮定します。)

各費用カテゴリ(費用合計の各子)に値を配賦する必要があります。 費用合計の各子の配賦は、前年の実績費用の子配分(PY実績)に基づきます:

FIX("Total Expenses")
Budget = @ALLOCATE(Budget->"Total Expenses",@CHILDREN("Total Expenses"),
"PY Actual",,share);
ENDFIX

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

                          Product   Market              
                     PY Actual           Budget 
                    Jan     Feb        Jan     Feb
                    ===     ===        ===     ===                              
Marketing          5223     5289     3908.60  4493.63
Payroll            4056     4056     3035.28  3446.05
Misc                 75       71       56.13    60.32
  Total Expenses   9354     9416     7000     8000

関連項目