この章の情報は、集約ストレージ・データベースのみに適用されます。
ブロック・ストレージ・データベースにおけるカスタム計算の実行の詳細は、次のトピックを参照してください:
ブロック・ストレージ・データベースにおける割当ての実行の詳細は、次のトピックを参照してください:
この章で説明するAPIと構成設定の詳細は、『Oracle Essbase APIリファレンス』と『Oracle Essbaseテクニカル・リファレンス』をそれぞれ参照してください。
Essbaseは、集約ストレージ・データベースでカスタム計算(集約ストレージ・データベースでのカスタム計算を参照)と割当て(集約ストレージ・データベースでの割当てを参照)を実行するための、個別のAPI関数および構造を提供します。ただし、どちらの機能にも次の共通する機能性があります:
集約ストレージ・データ・ロード・バッファ
カスタム計算および割当てのためのデータ・ロード・バッファの理解を参照してください。
貸方および借方処理
カスタム計算および割当てのための貸方および借方処理の理解を参照してください。
オフセット処理
カスタム計算および割当てのためのオフセット処理の理解を参照してください。
カスタム計算および割当ての実行で使用される、MDX式の構文を検証するためのAPI関数(EssVerifyMDXExpression)。
『Oracle Essbase APIリファレンス』を参照してください。
カスタム計算は集約ストレージ・データベースで継続的に発生する計算の実行を有効化することで、Essbaseの分析機能を拡張します。
ターゲットのレベル0セルを更新する、集約ストレージ・データベースのカスタム計算を記述できます。カスタム計算スクリプトはMDXで表現されます。
カスタム計算を使用することで、総勘定元帳の残高勘定科目における基礎計算を行い、Essbase集約ストレージ・データベースのターゲットのレベル0メンバーに結果を書き込むことができます。残高勘定科目または固定金額で計算を実行し、すべての会計期間で繰り返すようにスケジューリングできます。
集約ストレージ・データベースでのカスタム計算は、データベースが総勘定元帳レポートに使用される場合に有用で、ここでは複式簿記が有効になります。資産および支出などの借方項目は、株式および収益などの貸方項目と貸借一致する必要があります。
カスタム計算を作成して実行するには、次のワークフローを使用します:
MDXで表現される計算スクリプトを作成します。
カスタム計算の記述を参照してください。
計算が実行されるデータベース内の領域を選択します。ターゲットおよびPOV(視点)のパラメータを使用して、領域を実行時に指定します。
借方および貸方処理を使用する場合、アウトラインの借方および貸方メンバーを選択して正の値と負の値を記述します。これらのパラメータを実行時に指定します。
カスタム計算および割当てのための貸方および借方処理の理解を参照してください。
オフセット項目を使用する場合、オフセット項目を作成する領域を選択します。MDXタプルを使用して、このパラメータを実行時に指定します。オフセットが指定されていない、または空の場合、オフセット計算は実行されません。
注: | 総勘定元帳の記帳では、オフセット項目は元帳の反対側の相殺メジャーとなります。たとえば、Januaryの$100という貸方では、元帳の借方側に$100のオフセットが追加される可能性があるため、元帳はその金額の今後の支出への準備として貸借一致する場合があります。 |
カスタム計算および割当てのためのオフセット処理の理解を参照してください。
Essbase APIを使用してカスタム計算スクリプトを実行します。
カスタム計算の実行を参照してください。
カスタム計算機能は指定された様々な基準に基づいています。表209に、カスタム計算の定義に使用される基準の簡単な説明を示します。次に進む前にこれらの用語を確認してください。
表 209. カスタム計算基準の説明
基準 |
説明 |
---|---|
POV |
カスタム計算が実行されるコンテキストを記述する、データベース内の対称領域。 属性メンバーは、この引数では使用できません。 |
計算スクリプト |
MDXで表現される計算スクリプト。 属性メンバーは、式の左側では使用できません。 |
ターゲット |
MDXで表現されるタプル引数は、計算結果が書き込まれるデータベース内の領域を定義します。この引数は各式の左側およびオフセットと組み合せることで、結果およびオフセット値が書き込まれる場所を決定します。 属性メンバーは、この引数では使用できません。 |
(オプション)オフセット |
各ソース金額のオフセット値が書き込まれる、データベース内の場所。 属性メンバーは、この引数では使用できません。 |
(オプション)貸方および借方メンバー |
複式簿記では、1つの取引に対する仕訳の貸借一致。両方ともMDXメンバー式です。借方メンバーは正の結果値が書き込まれるメンバーを示し、貸方メンバーは負の結果値が書き込まれるメンバーを示します。 属性メンバーは、この引数では使用できません。 |
ソース領域 |
スクリプト内の式によって参照される、キューブの領域を指定するMDXセット式。 |
カスタム計算スクリプトは、.csc拡張子を付けて作成および格納するファイルです。MDXの1つまたは一連のタプル表現ペアでカスタム計算スクリプトを作成し、セミコロンで終了します。構文は次のとおりです:
tuple := numeric_value_expression;
tupleは1つ以上のメンバーのMDX指定で、その中のメンバー同士は同じ次元に属すことができません。タプルは等式の左側にあり、カスタム計算の結果が書き込まれる場所を判断する主要要因となります。
タプル式ではメンバー名のみを使用できます。カスタム計算スクリプトでは、メンバー関数の使用はサポートされていません。
注: | 結果のターゲットを判断する二次要因はターゲット・パラメータで、三次要因はPOVパラメータです。2番目および3番目のパラメータは、計算スクリプトの要素としてではなく、計算の実行時に指定します。 |
numeric_value_expressionは、数字や算術演算子などの簡単なMDX数値式です。この表現は等式の右側にある必要があります。算術演算子のみが実行されます。算術演算子(AND、ORまたはIFステートメントなど)が使用されていない場合は、エラーが返されます。
数値式ではメンバー名を使用できますが、カスタム計算スクリプトではメンバー関数の使用はサポートされていません。
属性メンバーは、カスタム計算スクリプトの等式の左側で使用できません。
ソース領域も定義する必要があり、これがEssbaseのパフォーマンス・ヒントとして機能します。Essbaseは、ソース領域に指定されたデータをプリフェッチし、それを使用してスクリプトで指定されている計算を実行します。
カスタム計算スクリプトの例、およびソース領域の定義の詳細は、カスタム計算の使用例を参照してください。
カスタム計算は、MaxLのexecute calculationステートメントを使用して実行できます(集約ストレージ・バージョン)。
Essbase APIを使用してカスタム計算スクリプトを実行できます。EssPerformCustomCalcASOを使用して、集約ストレージ・データベースでカスタム計算を実行または確認します。カスタム計算の情報をESS_PERF_CUSTCALC_T構造体に指定します。
また、Oracle Hyperion Calculation Managerを使用することで、カスタム計算を設計し、それを実行のためEnterprise Scheduling Servicesに配置できます。
次のような次元のアウトラインを想定します:
Company: CompanyA、CompanyB、およびその他の子が含まれます。
Department: 101、102、103などの番号付けされた部門が含まれます。
Account: 勘定科目5740が賃貸料の勘定科目で、SQFTが各部門の平方フィート数を記録するために使用される統計勘定科目です。
Scenario: Actualメンバーにはデータが転記され、Allocationメンバーには割当ておよびカスタム計算が格納されます。Scenarioメンバーは、ActualおよびAllocationの子メンバーを集約する親です。
Year: 月および四半期で構成される時間次元。
Geography: 州および都市で構成される次元。
AmountType: Debitがターゲットで、Creditがオフセットです。
Project: Proj1、Proj2などのプロジェクトが含まれる次元。
POVはMDXセット式で、カスタム計算が実行される場所を示します。次のように指定されます:
CrossJoin( { ( [Company], [101], [Jan], [Scenario] ) }, Descendants( Geography, Geography.Levels(0)) )
DebitMemberはMDXメンバー式で、正の結果値が書き込まれる対象の借方メンバーを示します。[BeginningBalance_Debit]のように指定されます。
CreditMemberはMDXメンバー式で、負の結果値およびオフセット結果値が書き込まれる対象の貸方メンバーを示します。[BeginningBalance_Credit]のように指定されます。
注: | オフセットは、すべての結果値の合計が負数の場合は借方メンバーに書き込まれます。 |
オフセットはMDXタプル式で、オフセット項目が作成される場所を示します。([Account_NA], [Project_NA])のように指定されます。
オフセット式はターゲットおよびPOVと組み合せることで、オフセット項目が作成される場所を決定します。次元が重複する場合、オフセットの場所を解決するための順序はオフセット、ターゲット、POVの順序になります。
ターゲットはMDXタプル式で、カスタム計算の結果を書き込む場所を示します。(Allocation)のように指定されます。
ターゲット式はPOVと、カスタム計算スクリプト内の各行の左側と組み合せることで、結果が書き込まれる場所を決定します。次元が重複する場合、ターゲットの場所を解決するための順序は等式の左側、ターゲット、POVの順序になります。この例では、POVで指定されたScenarioメンバーよりターゲットが優先されるため、結果はAllocationメンバーに書き込まれます。
カスタム計算スクリプトの例を次に示します:
(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の各組合せの場合、
現在のPOVの組合せのコンテキストで、計算スクリプトが実行されます。
1つのオフセット値がターゲットの場所に書き込まれます。
注: | 各式(計算スクリプト内の行)は順番にではなく、同時に実行されます。したがって、1つの式の結果は次に続く式では使用できません。 |
ソース領域を定義するには、カスタム計算スクリプトを確認し、等式の右辺でどのメンバーが参照されるかを決定します。ソース領域には、少なくとも、カスタム計算スクリプトの割当てステートメントの右辺にあるすべてのメンバーが含まれる必要があります。
ソース領域を単一のMDXセットとして定義します。等式の右辺のメンバーが複数のディメンションに属している場合は、CrossJoinを使用して2つのセットからこのセットを作成できます。CrossJoinでは2つのセットのみが受け入れられるため、ネストしたCrossJoinの使用が必要な場合があります。
上記のカスタム計算スクリプトのソース領域は次のとおりです:
Crossjoin( {[AccountB], [AccountD]}, Crossjoin( {[Proj1], [Proj2]}, {[2007]} ) )
スクリプトに割り当てられていないソース領域にメンバーを含める必要はありません。たとえば、スクリプトで使用されていないソース領域に[AccountC]を追加した場合は、無視されて、パフォーマンスがわずかに低下する場合があります。
ソース領域の数値を考慮する必要はありません。たとえば、カスタム計算スクリプト内の次の割当てでは、ソース領域に何も追加す必要はありません: ([Bud Var]):=10
割当ては、収益またはコストを配分する予算設定プロセスで使用されます。
割当て機能では、指定されたソース金額を集約ストレージ・データベース内のターゲット範囲のセルに割当てできます。指定された基準に基づいてソース金額をターゲットに比例的に割り当てることも、ソース金額をターゲットに均等に分散することも可能です。
MaxLのexecute allocationステートメントを使用して集約ストレージ割当てを実行できます。
また、集約ストレージ割当ては、EssPerformAllocationAso API関数を使用し、ESS_PERF_ALLOC_T API構造で割当てに関する情報を指定することで実行することもできます。
単一割当ては、EssPerformAllocationAso APIの単一呼出しに対応しており、固有のPOV (視点)、範囲、金額、基準、ターゲット、およびオフセット(オプション)があります。これらのパラメータの異なる値のセットで割当てを実行するには、個別のAPIを順次呼び出す必要があります。
割当ては割当てエンジンで実行されてから、Essbaseで作成された一時データ・ロード・バッファを使用することで、集約ストレージ・データベースに戻って書き込まれます。データ・ロード・バッファの一般的な情報は、集約ストレージ・データベースへのデータのロードを参照してください。割当ておよびカスタム計算に固有の情報は、カスタム計算および割当てのためのデータ・ロード・バッファの理解を参照してください。
割当ては指定された様々な基準に基づいています。表210に、割当ての定義に使用される基準の簡単な説明を示します。次に進む前にこれらの用語を確認してください。
表 210. 割当て基準の説明
基準 |
説明 |
参照 |
---|---|---|
POV |
割当てが実行されるコンテキストを記述する、データベース内の対称領域 | |
範囲 |
割当て値が計算されて書き込まれる、データベース内の対称領域 | |
(オプション)除外範囲 |
割当て値を書き込まない、範囲内の場所 | |
金額 |
割り当てられる金額 | |
(オプション)金額コンテキスト |
金額の追加コンテキストまたは特殊性 | |
(オプション)金額の時間スパン |
金額に想定される1つ以上の期間 | |
(オプション)ゼロの金額オプション |
ゼロまたは#MISSINGの金額値の処理 | |
基準 |
範囲と組み合せることで、金額の割当て方法を決定する基準値の場所を定義します | |
(オプション)基準の時間スパン |
基準に想定される1つ以上の期間 | |
(基準の時間スパンが設定されている場合は必須) 基準の時間スパン・オプション |
基準の時間スパン全体で基準を計算するためのメソッド:
| |
ゼロの基準オプション |
ゼロの基準値の処理 | |
(オプション)負の基準オプション |
負の基準値の処理 | |
ターゲット |
範囲と組み合せることで、割当て値が書き込まれるデータベース内の領域を定義します | |
(オプション)ターゲットの時間スパン |
ターゲットに想定される1つ以上の期間 | |
(ターゲットの時間スパンが設定されている場合は必須) ターゲットの時間スパン・オプション |
ターゲットの時間スパン全体で値を割り当てるためのメソッド:
| |
割当てメソッド |
金額を割り当てるためのメソッド:
| |
(オプション)分散スキップ・オプション |
分散割当てメソッドの場合、ゼロ、#MISSINGまたは負の範囲にある基準値をスキップするかどうか | |
丸めメソッド |
割当て値を丸めるかどうか。 丸めることを選択した場合、丸め誤差を処理するメソッドを指定します:
| |
(オプション)丸め桁数 |
割当て値が丸められる小数点以下の桁数:
| |
(丸めメソッドが特定の場所に設定されている場合は必須) 丸め先ロケーション |
丸め誤差合計を追加する対象の場所 | |
(オプション)オフセット |
各ソース金額のオフセット値が書き込まれる、データベース内の場所 | |
(オプション)貸方および借方メンバー |
複式簿記では、1つの取引に対する仕訳の貸借一致 |
Essbaseは割当ての実行時に、データベースの各種の領域を使用します。各領域は、領域で定義された各次元の1つ以上のメンバーで構成されます。
表 211. 割当てで使用される領域のリスト
領域名 |
領域定義 |
説明 |
---|---|---|
ソース |
(POV X amount [X amount context] X [amount time span]) |
割り当てられる金額値が含まれる領域。 ソース領域とターゲット領域は重複できません。 |
ターゲット |
(POV X target X debit member/credit member X range X [target time span]) |
割当て値が書き込まれる場所が含まれる領域。 ソース領域とターゲット領域は重複できません。 ターゲット領域は割当ての実行前に空である必要はありません。Essbaseは空でないセルを割当てデータまたはゼロで上書きします。#MISSINGというセルの場合、Essbaseが割当てデータをこのセルに書き込まないかぎり、セルは#MISSINGのままになります。 |
基準 |
(POV X basis X range X [basis time span]) |
ソース金額の割当て方法の決定に使用される基準値が含まれる領域。 基準はPOVの部分を上書きする場合があります。 |
オフセット |
(POV X offset X debitMember/creditMember) |
オフセット値が書き込まれる場所が含まれる領域。 |
割当てパラメータ値は、次の方法で表記できます:
MDXメンバー式
MDXセット式
MDXタプル式(同じ次元からの2つのメンバーは存在できない)
定数
割当てパラメータ値の表記方法の詳細は、『Oracle Essbase APIリファレンス』を参照してください。
POVは、割当てが実行されるコンテキストを記述するデータベース内の対称領域を指定します。POVはレベル0メンバーのみで構成できます。POVで定義された次元は他のパラメータで使用できませんが、基準および基準の時間スパンは例外です。
割当ては、POVセット内のあらゆるメンバーの組合せに対して繰り返されます。POVの組合せの数は、複数のメンバーが存在する次元のメンバー数の積です。(メンバーが1つだけの次元は、組合せの数の計算に使用されません。)
たとえば、POVが2つの次元(CostCenterおよびProject)で構成され、割当てが2つのコスト・センター(CostCenter1およびCostCenter2)と3つのプロジェクト(Project1、Project2およびProject3)で行われると仮定します。POVの組合せの数は6になります:
Project1,CostCenter1 Project1,CostCenter2 Project2,CostCenter1 Project2,CostCenter2 Project3,CostCenter1 Project3,CostCenter2
割当ては、割当てコンテキストが各組合せに正常に設定されるまで6回繰り返されます。
割当ての基準として想定される値はPOVの組合せによって異なります。基準の設定を参照してください。
範囲は、割当て値が計算されて書き込まれる、データベース内の対称領域を指定します。
割当て値を範囲内の特定のセルに書き込まない場合は、除外範囲パラメータを使用して範囲の対称サブセットを表記します。範囲のサブセットを除外している場合でも、Essbaseは範囲内のすべてのセルを使用して割当て値を計算します。
範囲からセルを除外すると、割当て値の合計が金額の値を下回る場合があります。
次の例では、範囲が6つのメンバーの組合せで構成され、金額が6で、割当てメソッドが分散のため、Essbaseが範囲全体で金額を均等に割り当てます。割当て分散金額は1です(6/6 = 1)。
表212に示すように、Essbaseは範囲の各セルに1を書き込みます。
表213に示すように、除外された範囲が(Project2,CostCtr2)のメンバーの組合せに設定されている場合、Essbaseは割当て分散金額をそのセルに書き込みません。したがって、割当て値の合計(5)は金額(6)を下回ります。割当てプロセス後の除外されたセルの値は、#MISSINGまたはゼロになります。
範囲と除外された範囲は、レベル0のメンバーのみで構成できます。
金額は割当てのソースを指定します。ターゲット領域のセルに金額値が割り当てられます。金額は、上位レベル・メンバーまたはレベル0メンバーで構成が可能で、数値式、タプルまたは定数として表すことができます。
金額を表す式によって特定の要件が決まります:
数値式:
式の全メンバーが同じ次元に属している必要があります。
タプルは式で使用できません。
演算式(+、-、/および*)のみを式で使用できます。
MDX関数(AvgやParentなど)は使用できません。
例:
(Acc_1000 + Acc_2000)/2 AccA + AcctB Balance * 1.1
タプル:
タプルは、POVで指定されていないすべての次元の1つのメンバーを使用する必要があります。
金額コンテキストを空にする必要があります。
例:
(Balance,Cost_Center_00,Project_00) (Balance,Cost_Center_00,Actual)
定数:
金額コンテキストを空にする必要があります。
金額の時間スパンを空にする必要があります。
例:
100
金額を詳細に定義するためにこれらのパラメータを使用できます:
(オプション)金額コンテキストは、金額の追加的なコンテキストまたは特殊性を指定します。金額コンテキストは、上位レベル・メンバーまたはレベル0メンバーで構成が可能で、タプルとして表すことができます。金額コンテキストを指定することで、POVで指定されていない次元のメンバーを含めることができます。
金額コンテキストを使用する際、これらの要件が金額および金額コンテキストに適用されます:
パラメータは同じ次元内のメンバーを参照できません。
パラメータはすべて、POVで指定されていないすべての次元のメンバーを使用する必要があります。
(オプション)金額の時間スパンは、金額に想定される1つ以上の期間を指定します。指定された期間の金額値が集約され、集約された金額値が割り当てられます。期間は時間次元のレベル0メンバーである必要があります。
金額が演算式を使用して指定され、金額の時間スパンが使用される際、金額の時間スパンは、金額内のあらゆる式、または金額で使用されるあらゆる式メンバーよりも優先されます。たとえば、表214に示すように、金額がDept_A/Dept_Bとして指定され、金額の時間スパンが各部門についてJan、Feb、MarおよびAprに設定されると仮定します。POVに対して割り当てられる金額は、Dept_Aの金額時間スパン値(10)をDept_Bの金額の時間スパン値(20)で割ることで計算され、0.5になります。
(オプション)ゼロの金額オプションは、値がゼロまたは#MISSINGの場合に金額を処理する方法を指定します。ゼロ値の割当て(デフォルト)、次のゼロ以外または#MISSING以外の金額値へのスキップ、または割当て操作全体の取消しを選択できます。
次の例に示すように、金額コンテキストと金額の時間スパンを使用して同じ結果を導き出すことができます。金額はDept_Aの値ですが、金額の時間スパンはDept_AのJan、Feb、MarおよびAprの月のみに焦点を当てるために使用されます。表215に示すように、金額の時間スパンに含まれるメンバーの集約値(10)は、範囲内のセル全体に割り当てられる金額値です。
表216に示すように、Jan + Feb + Mar + Aprの演算式として金額を指定し、金額コンテキストをDept_Aとして設定することで、同じ金額値を導き出すことができます:
(オプション)基準は、範囲と組み合せることで、金額の割当て方法を決定する基準値の場所を定義します。基準は上位レベル・メンバーまたはレベル0メンバーで構成できます。
基準を詳細に定義するためにこれらのパラメータを使用できます:
(オプション)基準の時間スパンは、基準に想定される1つ以上の期間を指定します。期間は時間次元のレベル0メンバーである必要があります。
(基準の時間スパンが設定されている場合は必須)基準の時間スパン・オプションは、基準の時間スパンで指定された期間に対して、基準が計算される方法を指定します。各期間で個別に基準値を使用する(分割)か、または基準の時間スパンで指定された期間全体の基準値の合計を使用する(結合)ことを選択できます。
基準の時間スパンが複数の期間を指定し、ターゲットの時間スパンが1つの期間を指定する、または空の場合、基準の時間スパン・オプションを結合に設定する必要があります。Essbaseはターゲットの時間スパン・オプションを無視します。
基準の時間スパンおよびターゲットの時間スパンが複数の期間を指定し、基準の時間スパン・オプションを分割に設定する場合、基準の時間スパンおよびターゲットの時間スパンで指定される期間は同一である必要があります。Essbaseはターゲットの時間スパン・オプションを無視します。
基準およびターゲットの時間スパンの設定の理解を参照してください。
ゼロの基準オプションは、ゼロの基準値を処理する方法を指定します。次のゼロ以外または#MISSING以外の金額値へのスキップ、または割当て操作全体の取消しを選択できます。Essbaseは、割当てメソッドに基づいてゼロの基準オプションを処理します。割当てメソッドの設定を参照してください。
(オプション)負の基準オプションは、負の基準値を処理する方法を指定します。負の基準オプションに使用できるオプションは、使用される割当てメソッドによって異なります。割当てメソッドの設定を参照してください。
注: | 基準は、分散割当てメソッドを使用中で、どの分割スキップ・オプションも設定していない場合は無視されます。 |
ターゲットは、範囲と組み合せることで、割当て値が書き込まれるデータベース内の領域を定義します。ターゲットはレベル0メンバーのみで構成できます。
ターゲットを詳細に定義するためにこれらのパラメータを使用できます:
(オプション)ターゲットの時間スパンは、ターゲットに想定される1つ以上の期間を指定します。期間は時間次元のレベル0メンバーである必要があります。
(ターゲットの時間スパンが設定されている場合は必須) ターゲットの時間スパン・オプションは、ターゲットの時間スパンで指定された期間全体で値を割り当てるメソッドを指定します。金額値を除算するか、または指定された期間全体で金額値を繰り返すことを選択できます。
基準の時間スパンが複数の期間を指定し、ターゲットの時間スパンが1つの期間を指定する、または空の場合、基準の時間スパン・オプションを結合に設定する必要があります。Essbaseはターゲットの時間スパン・オプションを無視します。
基準の時間スパンおよびターゲットの時間スパンが複数の期間を指定し、基準の時間スパン・オプションを分割に設定する場合、基準の時間スパンおよびターゲットの時間スパンで指定される期間は同一である必要があります。Essbaseはターゲットの時間スパン・オプションを無視します。
基準およびターゲットの時間スパンの設定の理解を参照してください。
割当てメソッドは、金額を均等に割り当てるか、比例的に割り当てるかを指定します。
シェア・メソッドは、範囲の現在のメンバーの基準値(basis_mbr_value)を範囲全体の基準の合計(basis_range_sum)で除算することで、ある割合の金額(alloc_share_amt)を割り当てます。割当て金額は、範囲の有効な基準値の数値に基づきます。割当てシェア金額を計算するためのアルゴリズムは次のとおりです:
alloc_share_amt = (basis_mbr_value/basis_range_sum) * amount
基準値とEssbaseのアクション:
ゼロ: Essbaseはゼロを対応するターゲット・セルに書き込みます。
すべての基準値の合計がゼロの場合(division-by-zeroエラーが発生する可能性があります)、Essbaseはゼロの基準オプション設定を使用します。基準の設定を参照してください。
#MISSING: Essbaseはターゲット・セルを#MISSINGのままにするか、ターゲット・セルにすでに値がある場合は、既存の値をゼロで上書きします。
負数: Essbaseは負の基準オプション設定を使用します。負の基準値の使用(デフォルト)、次の金額値へのスキップ(データは現在の金額値に割り当てられません。Essbaseは次のPOVの組合せにスキップします)、または操作全体の取消しを選択できます。
次の例はシェア割当てメソッドを示しています。両方の例とも、割り当てる金額は10です。
表217では、金額(10)はビルの賃貸料を表し、基準が範囲内の各部門の人数を表すと仮定します。Essbaseは、#MISSING以外の人数を示す部門(Dept_AからDept_D)の基準値を使用して、割当てシェア金額を計算し、これが賃貸料割当てになります。
Dept_Aの賃貸料割当ては、Dept_Aの基準値(3)が、範囲全体の有効な基準値の合計(3 + 2 = 5)で除算され、金額(10)で乗算されたものです: 3/5 * 10 = 6。Dept_Dの場合、賃貸料割当ては2/5 * 10 = 4です。範囲内のターゲット・セルの合計は10と等しくなります。
表218では、すべての基準値がシェア割当て金額の計算に想定されると仮定します。Mbr1の割当ては、Mbr1の基準値(3)が、範囲全体の有効な基準値の合計(3 + -1 + 2 = 4)で除算され、金額(10)で乗算されたものです: 3/4 * 10 = 7.5。Mbr3の場合、割当ては-1/4 * 10 = -2.5です。Mbr4の場合、割当ては2/4 *10 = 5です。範囲内のターゲット・セルの合計は10と等しくなります。
分散メソッドは、金額を範囲全体で均等に割り当てます(alloc_spread_amt)。金額の除算に使用される数値、すなわち、割当て分散金額が書き込まれる予定のターゲット・セルの数は、範囲内の有効な基準値の合計(#_valid_basis_values)に基づきます。割当て分散金額を計算するためのアルゴリズムは次のとおりです:
alloc_spread_amt = amount/#_valid_basis_values
分散割当てメソッドを使用する際、オプションで分散スキップ・オプション・パラメータを使用すると、範囲内のゼロ、#MISSINGまたは負数の基準値をすべてスキップできます。複数のオプションを指定できます。
基準値とEssbaseのアクション:
ゼロ: Essbaseはゼロを対応するターゲット・セルに書き込みます。
分散スキップ・オプションがゼロをスキップするように設定されている場合、データは割り当てられません。
#MISSING: Essbaseはターゲット・セルを#MISSINGのままにするか、ターゲット・セルにすでに値がある場合は、Essbaseは既存の値をゼロで上書きします。
分散スキップ・オプションが#MISSINGをスキップするように設定されている場合、データは割り当てられません。
負数: Essbaseは負の基準オプション設定を使用します(これは、負数をスキップする分散スキップ・オプション設定よりも優先されます)。次のいずれかのアクションを選択できます:
負の基準値の使用(デフォルト)
次の金額値へのスキップ(データは現在の金額値に割り当てられません)
負数の絶対値の使用
$MISSINGとして負数を処理(値はターゲット・セルに割り当てられません)
ゼロとして負数を処理(ゼロがターゲット・セルに割り当てられます)
操作全体の取消し
すべての基準値がスキップされている場合(割当てゼロの分母を形成します)、Essbaseはゼロ基準オプション設定を使用します。基準の設定を参照してください。
次の例は分散割当てメソッドを示しています。両方の例とも、割り当てる金額は10です。
表219では、分散スキップ・オプション・パラメータが指定されていないと仮定します。したがって、Essbaseは範囲内の4つすべての基準メンバーを想定します。Essbaseは金額(10)を、範囲内の有効な基準メンバーの数(4)で除算し、その値(2.5)を範囲内の各ターゲット・セルに分散します: 10/4 = 2.5。
表 219. 分散割当てメソッドの例: 基準値をスキップしない
範囲のメンバー |
基準 |
ターゲット |
---|---|---|
Mbr1 |
2 |
2.5 |
Mbr2 |
#MISSING |
2.5 |
Mbr3 |
3 |
2.5 |
Mbr4 |
-6 |
2.5 |
表220では、分散スキップ・オプション・パラメータが#MISSINGおよび負数を無視するように設定されていると仮定します。したがって、Essbaseは正の値を持つ2つの基準メンバー(Mbr1およびMbr3)のみを想定します。Essbaseは金額(10)を、範囲内の有効な基準メンバーの数(2)で除算し、その値(5)をMbr1およびMbr3のターゲット・セルに分散します: 10/2 = 5。
丸めメソッドは、割当て値を丸めるかどうかを指定します(デフォルトは、丸めない)。
値を丸めることを選択した場合、丸めメソッドは丸め誤差の処理方法を指定します。丸め誤差を無視するか、すべての割当て値を丸めて丸め誤差合計を最大割当て値、最小割当て値または特定のセルに追加することを選択できます。丸め誤差を最大割当て値または最小割当て値に追加することを選択し、複数の最大割当て値または最小割当て値が存在する場合、Essbaseは丸め誤差を追加する対象となる、最大値または最小値の1つを選択します。
割当て値を丸めることを選択した場合、丸めメソッドを詳細に定義するためにこれらのパラメータを使用できます:
(割当て値を丸める場合は必須)丸め桁数は、割当て値が丸められる小数点以下桁数を指定します。最も近い整数(デフォルト)、指定した小数点以下の桁数、または10の累乗に丸めることを選択できます。
丸め桁数は-100から100までの数値で、整数、MDX数値式またはタプルとして表現できます。
丸め桁数の設定が割当て値の通貨に基づく場合は、MDX数値式の使用が便利です。たとえばデータベースに、POVの一部であるCurrencyという次元と、割当て値の通貨に基づいて割当て値を丸める方法を指定する、NumCurrencyDigitsという関連付けられた属性次元が含まれると仮定します。丸め桁数を次のように表現できます:
Currency .currentMember. NumCurrencyDigits
注: | 丸めメソッドに、割当て値を丸めないことを選択した場合、丸め桁数のパラメータは空である必要があります。 |
(丸めメソッドが特定の場所に設定されている場合は必須)丸め先ロケーションは、丸め誤差合計を追加する対象のセルを指定します。タプルとして表現され、セルは範囲内にあり範囲と同じ次元性を持つ必要があります。丸め先ロケーションはレベル0のメンバーのみで構成できます。
注: | 丸めメソッドに、特定のセルに丸めること以外のオプションを選択した場合、丸め先ロケーションのパラメータは空である必要があります。 |
(オプション)オフセットは、各ソース金額のオフセット値が書き込まれる、データベース内の場所を指定します。
オフセットは割当ておよびカスタム計算で同様に動作します。カスタム計算および割当てのためのオフセット処理の理解を参照してください。
(オプション) debitMemberとcreditMemberは、レベル0のメンバーのみで構成できます。
借方メンバーおよび貸方メンバーは同じ次元の2つの異なるメンバーである必要があります。
debitMemberとcreditMemberは割当ておよびカスタム計算で同様に動作します。カスタム計算および割当てのための貸方および借方処理の理解を参照してください。
基準およびターゲットの時間スパンに指定されるメンバーの数は、表221で説明するように、Essbaseで基準の時間スパン・オプションおよびターゲットの時間スパン・オプションがそれぞれ処理される方法に影響します。基準またはターゲットの時間スパンが空である、あるいは単一の期間に設定されている状況では、Essbaseは、基準またはターゲットの時間スパン・オプションにそれぞれ設定した可能性のあるあらゆる設定を無視します。基準またはターゲットの時間スパンの一方または両方が複数の期間に設定されている状況では、Essbaseは、基準またはターゲットの時間スパン・オプションに特定の設定を必要とします。
表 221. サマリー: 基準およびターゲットの時間スパンと、基準およびターゲットの時間スパン・オプション
基準の時間スパン |
ターゲットの時間スパン |
基準の時間スパン・オプション |
ターゲットの時間スパン・オプション |
参照 |
---|---|---|---|---|
空または単一のメンバー |
空または単一のメンバー |
無視される |
無視される | |
空または単一のメンバー |
複数のメンバー |
無視される |
除算または繰返し | |
複数のメンバー |
空または単一のメンバー |
結合 |
無視される | |
複数のメンバー |
複数のメンバー |
分割 |
無視される | |
複数のメンバー |
複数のメンバー |
結合 |
除算または繰返し |
この例では、基準およびターゲットの時間スパンが未設定か、単一の期間のみに設定されています。Essbaseは、基準またはターゲットの時間スパン・オプションに選択した可能性のあるあらゆる設定を無視します。
この例では、基準の時間スパンが未設定で、複数の期間がターゲットの時間スパンに指定されています。基準の時間スパン・オプションは無視されます。ターゲットの時間スパン・オプションには、divideまたはrepeatを選択できます。
金額が1000であると仮定します。表222には、各部門の基準(Dept_1 = 1)と範囲の合計基準(21)が示されます:
ターゲットの時間スパン・オプションの設定によって、割当ての計算方法が決まります。
指定されたターゲットの時間スパン期間全体で割当て金額を繰り返します:
このシナリオでは、Essbaseは単一期間の割当てを実行し、割当て金額値をターゲットの時間スパン内のすべてのメンバーにコピーします。
Essbaseは次のアルゴリズムを使用します:
alloc_amt = (basis_mbr_value/basis_total_range) * amount
表223に示すように、Dec 07、Dept_1の場合、メンバー基準値(1)は範囲全体の合計基準(21)で除算され、結果(0.04762)が金額(1000)で乗算されます: (1/21) * 1000 = 47.62。Essbaseは47.62をJan 08、Feb 08、Mar 08およびApr 08のセルにコピーします。Essbaseは引き続き、各部門に対するDec 07の割当てを実行します。各ターゲットの時間スパンについて、範囲全体の割当て値の合計は金額(1000)と等しくなります。
表 223. 例2: 繰返しに設定されたターゲットの時間スパン・オプションを使用した割当て
範囲 |
合計 | ||||||
---|---|---|---|---|---|---|---|
ターゲットの時間スパンのメンバー |
Dept_1 |
Dept_2 |
Dept_3 |
Dept_4 |
Dept_5 |
Dept_6 | |
Dec 07 |
47.62 |
95.24 |
142.86 |
190.48 |
238.10 |
285.71 |
1000 |
Jan 08 |
47.62 |
95.24 |
142.86 |
190.48 |
238.10 |
285.71 |
1000 |
Feb 08 |
47.62 |
95.24 |
142.86 |
190.48 |
238.10 |
285.71 |
1000 |
Mar 08 |
47.62 |
95.24 |
142.86 |
190.48 |
238.10 |
285.71 |
1000 |
Apr 08 |
47.62 |
95.24 |
142.86 |
190.48 |
238.10 |
285.71 |
1000 |
5000[1] |
合計割当て金額は、元の金額値(1000)にターゲットの時間スパン・メンバーの数(5)を乗算したものです: 1000 * 5 = 5000。
指定されたターゲットの時間スパン期間全体で割当て金額を分割します
このシナリオでは、Essbaseは1つの期間の割当てを実行し、割当て金額をターゲットの時間スパン内のすべてのメンバーで均等に分割します。
Essbaseは次のアルゴリズムを使用します:
alloc_amt = ((basis_mbr_value/basis_total_range) * amount)/#_target_time_span_periods
表224に示すように、Dec 07、Dept_1の場合、Essbaseは、繰返しのターゲットの時間スパン・オプション・シナリオで説明されたものと同じ計算を実行して、47.62を導き出します。ただし、この金額はDept_1に対する5つすべてのターゲットの時間スパン期間で均等に分割されるため、9.52が各ターゲット・セルに書き込まれます: 47.62/5 = 9.52。Essbaseは引き続き、各部門に対する割当てを実行します。各ターゲットの時間スパンについて、範囲全体の割当て値の合計は(200)と等しくなります。
表 224. 例2: 分割に設定されたターゲットの時間スパン・オプションを使用した割当て
範囲 |
合計 | ||||||
---|---|---|---|---|---|---|---|
ターゲットの時間スパンのメンバー |
Dept_1 |
Dept_2 |
Dept_3 |
Dept_4 |
Dept_5 |
Dept_6 | |
Dec 07 |
9.52 |
19.05 |
28.57 |
38.10 |
47.62 |
57.14 |
200 |
Jan 08 |
9.52 |
19.05 |
28.57 |
38.10 |
47.62 |
57.14 |
200 |
Feb 08 |
9.52 |
19.05 |
28.57 |
38.10 |
47.62 |
57.14 |
200 |
Mar 08 |
9.52 |
19.05 |
28.57 |
38.10 |
47.62 |
57.14 |
200 |
Apr 08 |
9.52 |
19.05 |
28.57 |
38.10 |
47.62 |
57.14 |
200 |
1000[1] |
範囲全体の合計割当て値は元の金額値(1000)です: 200 * 5 = 1000。
この例では、複数の期間が基準の時間スパンに指定されていますが、ターゲットの時間スパンは未設定です。ターゲットの時間スパン・オプションは無視されます。基準の時間スパン・オプションの有効な選択肢は、combineだけです。
金額が1000であると仮定します。表225に示すように、各部門に使用される基準は、基準の時間スパンに対する基準値(Dept_1 = 15)の合計です。範囲の合計基準はすべての部門の基準値の合計です(147):
表 225. 例3: 基準値
範囲 |
合計 | ||||||
---|---|---|---|---|---|---|---|
基準の時間スパンのメンバー |
Dept_1 |
Dept_2 |
Dept_3 |
Dept_4 |
Dept_5 |
Dept_6 | |
Dec 07 |
1 |
2 |
3 |
4 |
5 |
6 | |
Jan 08 |
2 |
3 |
4 |
5 |
6 |
7 | |
Feb 08 |
3 |
4 |
5 |
0 |
7 |
8 | |
Mar 08 |
4 |
5 |
6 |
1 |
8 |
9 | |
Apr 08 |
5 |
6 |
7 |
2 |
9 |
10 | |
合計 |
15[1] |
20 |
25 |
12 |
35 |
40 |
147[2] |
割当ては結合という基準の時間スパン設定を使用して計算され、ここでは基準の時間スパン期間全体の基準値の合計が使用されます。
Essbaseは各範囲メンバーに対して次のアルゴリズムを使用します:
alloc_amt = (sum_across_basis_time_span/basis_total_range) * amount
表226に示すように、ターゲットの時間スパンが複数の期間に設定されていないため、各部門の割当て値が1つのターゲットの場所に書き込まれます。Dept_1の割当て金額の場合、基準の時間スパンの合計(15)は範囲の合計基準(147)で除算され、結果(0.10204)が金額(1000)で乗算されます: (15/147) * 1000 = 102.04。Essbaseは引き続き、範囲の各部門に対する割当てを実行します。
表 226. 例3: 結合に設定された基準の時間スパンを使用した割当て
範囲 |
合計 | ||||||
---|---|---|---|---|---|---|---|
Dept_1 |
Dept_2 |
Dept_3 |
Dept_4 |
Dept_5 |
Dept_6 | ||
ターゲット |
102.04 |
136.05 |
170.07 |
81.63 |
238.10 |
272.11 |
1000[1] |
範囲全体の合計割当て値は元の金額値(1000)です。
この例では、複数の期間が基準の時間スパンおよびターゲットの時間スパンに指定され、基準の時間スパン・オプションはsplitに設定されています。分割という基準の時間スパン・オプションを使用する際、基準の時間スパンおよびターゲットの時間スパンで指定される期間は、同一である必要があります。(基準の時間スパン・オプションをcombineに設定する例については、例5: 基準およびターゲットの時間スパン - 複数のメンバー、基準の時間スパン・オプション - 結合を参照してください。)
金額が1000であると仮定します。表227に示すように、範囲の合計基準は全部門の基準値の合計です(165):
表 227. 例4: 基準値
範囲 |
合計 | ||||||
---|---|---|---|---|---|---|---|
基準の時間スパンのメンバー |
Dept_1 |
Dept_2 |
Dept_3 |
Dept_4 |
Dept_5 |
Dept_6 | |
Dec 07 |
1 |
2 |
3 |
4 |
5 |
6 |
21[1] |
Jan 08 |
2 |
3 |
4 |
5 |
6 |
7 |
27 |
Feb 08 |
3 |
4 |
5 |
6 |
7 |
8 |
33 |
Mar 08 |
4 |
5 |
6 |
1 |
8 |
9 |
39 |
Apr 08 |
5 |
6 |
7 |
2 |
9 |
10 |
45 |
165[2] |
割当ては分割という基準の時間スパン設定を使用して計算され、ここでは各期間に対する基準値が個々に使用されます。
Essbaseは次のアルゴリズムを使用します:
alloc_amt = (basis_mbr_value/basis_total_range) * amount
表228に示すように、Dec 07、Dept_1の場合、メンバー基準値(1)は範囲に対する合計基準(165)で除算され、結果(0.00606)が金額(1000)で乗算されます: (1/165) * 1000 = 6.06。Essbaseは引き続き、各部門に対する各期間の割当てを実行します。
表 228. 例4: 分割に設定された基準の時間スパンを使用した割当て
範囲 |
合計 | ||||||
---|---|---|---|---|---|---|---|
ターゲットの時間スパンのメンバー |
Dept_1 |
Dept_2 |
Dept_3 |
Dept_4 |
Dept_5 |
Dept_6 | |
Dec 07 |
6.06 |
12.12 |
18.18 |
24.24 |
30.30 |
36.36 |
127.27 |
Jan 08 |
12.12 |
18.18 |
24.24 |
30.30 |
36.36 |
42.42 |
163.64 |
Feb 08 |
18.18 |
24.24 |
30.30 |
36.36 |
42.42 |
48.48 |
200.00 |
Mar 08 |
24.24 |
30.30 |
36.36 |
42.42 |
48.48 |
54.55 |
236.36 |
Apr 08 |
30.30 |
36.36 |
42.42 |
48.48 |
54.55 |
60.61 |
272.73 |
1000[1] |
範囲全体の合計割当て値は元の金額値(1000)です。
この例では、複数の期間が基準およびターゲットの時間スパンに指定されていますが、基準の時間スパン・オプションがcombineに設定されているため、基準およびターゲットの時間スパンが同じメンバー・セットを含む必要はありません。(基準の時間スパン・オプションをsplitに設定する例については、例4: 基準およびターゲットの時間スパン - 複数のメンバー、基準の時間スパン・オプション - 分割を参照してください。)
金額が1000であると仮定します。表229に示すように、各部門に使用される基準は、基準の時間スパン全体の基準値(Dept_1 = 10)の合計です。範囲の基準はすべての部門の基準値の合計です(113):
表 229. 例5: 基準値
範囲 |
合計 | ||||||
---|---|---|---|---|---|---|---|
基準の時間スパンのメンバー |
Dept_1 |
Dept_2 |
Dept_3 |
Dept_4 |
Dept_5 |
Dept_6 | |
Dec 07 |
1 |
2 |
3 |
4 |
5 |
6 | |
Jan 08 |
2 |
3 |
4 |
5 |
6 |
7 | |
Feb 08 |
3 |
4 |
5 |
6 |
7 |
8 | |
Mar 08 |
4 |
5 |
6 |
0 |
8 |
9 | |
合計 |
10[1] |
14 |
18 |
15 |
26 |
30 |
113[2] |
ターゲットの時間スパン・オプションの設定によって、割当ての計算方法が決まります。
指定されたターゲットの時間期間全体で割当て金額を繰り返します:
このシナリオでは、Essbaseは単一期間の割当てを実行し、割当て金額値をターゲットの時間スパン内のすべてのメンバーにコピーします。
Essbaseは各範囲メンバーに対して次のアルゴリズムを使用します:
alloc_amt = (sum_across_basis_time_span/basis_total_range) * amount
表230に示すように、Dec 07、Dept_1の場合、Dept_1の基準(10)は範囲に対する合計基準(113)で除算され、結果(0.0885)が金額(1000)で乗算されます: (10/113) * 1000 = 88.50。Essbaseは88.50をJan 08、Feb 08、Mar 08およびApr 08のセルにコピーします。Essbaseは引き続き、各部門に対するDec 07の割当てを実行します。各ターゲットの時間スパンについて、範囲全体の割当て値の合計は金額(1000)と等しくなります。
表 230. 例5: 繰返しに設定されたターゲットの時間スパン・オプションを使用した割当て
範囲 |
合計 | ||||||
---|---|---|---|---|---|---|---|
ターゲットの時間スパンのメンバー |
Dept_1 |
Dept_2 |
Dept_3 |
Dept_4 |
Dept_5 |
Dept_6 | |
Dec 07 |
88.50 |
123.89 |
159.29 |
132.74 |
230.09 |
265.49 |
1000 |
Jan 08 |
88.50 |
123.89 |
159.29 |
132.74 |
230.09 |
265.49 |
1000 |
Feb 08 |
88.50 |
123.89 |
159.29 |
132.74 |
230.09 |
265.49 |
1000 |
Mar 08 |
88.50 |
123.89 |
159.29 |
132.74 |
230.09 |
265.49 |
1000 |
Apr 08 |
88.50 |
123.89 |
159.29 |
132.74 |
230.09 |
265.49 |
1000 |
5000[1] |
合計割当て値は、元の金額値(1000)にターゲットの時間スパン・メンバーの数(5)を乗算したものです: 1000 * 5 = 5000。
指定されたターゲットの時間期間全体で割当て金額を除算します:
このシナリオでは、Essbaseは単一期間の割当てを実行し、割当て金額をターゲットの時間スパン内のすべてのメンバーで均等に除算します。
Essbaseは次のアルゴリズムを使用します:
alloc_amt = ((basis_time_span/basis_total_range) * amount)/#_target_time_span_periods
表231に示すように、Essbaseは、繰返しのターゲットの時間スパン・オプション・シナリオで説明されたものと同じ計算を実行して、88.50を導き出します。ただし、この金額はDept_1に対する5つすべてのターゲットの時間スパン期間で均等に除算されるため、17.70が各ターゲット・セルに書き込まれます: 88.50/5 = 17.70。Essbaseは引き続き、各部門に対する割当てを実行します。各ターゲットの時間スパンについて、範囲全体の割当て値の合計は(200)と等しくなります。
表 231. 例5: 除算に設定されたターゲットの時間スパン・オプションを使用した割当て
範囲 |
合計 | ||||||
---|---|---|---|---|---|---|---|
ターゲットの時間スパンのメンバー |
Dept_1 |
Dept_2 |
Dept_3 |
Dept_4 |
Dept_5 |
Dept_6 | |
Dec 07 |
17.70 |
24.78 |
31.86 |
26.55 |
46.02 |
53.10 |
200 |
Jan 08 |
17.70 |
24.78 |
31.86 |
26.55 |
46.02 |
53.10 |
200 |
Feb 08 |
17.70 |
24.78 |
31.86 |
26.55 |
46.02 |
53.10 |
200 |
Mar 08 |
17.70 |
24.78 |
31.86 |
26.55 |
46.02 |
53.10 |
200 |
Apr 08 |
17.70 |
24.78 |
31.86 |
26.55 |
46.02 |
53.10 |
200 |
1000[1] |
範囲全体の合計割当て値は元の金額値(1000)です: 200 * 5 = 1000。
次の例は、POVの組合せを変更すると、割当ての基準として想定されている値にどのように影響するかを示しています。この例では、シェア割当てメソッドを使用し、前年の総賃貸料を現行の年のすべてのコスト・センターに、各コスト・センターの人数に基づいて割り当てます。集約ストレージ・データベースにDepartments、Time、CostCenterおよびMeasuresの4つの次元があり、割当て基準が表232のように指定されていると仮定します:
表 232. POVの例: 割当て基準
基準 |
定義 |
---|---|
POV |
Dept_A、Dept_B |
金額 |
2007、CCNA、TotalRent 金額値を次のように仮定します:
|
基準 |
Jan 2008、Head count |
ターゲット |
Jan 2008、RentalAllocation |
範囲 |
CostCenterのレベル0の子孫 範囲が次のコスト・センターの値を求めると仮定します:
|
割当てが各POVの組合せに対して実行されます:
Dept_A
Dept_B
表233に示すように、各POVの組合せには、割当ての計算で使用される固有の基準値のセットがあります: 範囲内の各コスト・センターの人数とJan 2008の合計の人数です:
表 233. POVの例: 各POVの組合せに対する基準値
メンバー基準値 |
範囲基準値 | ||||
---|---|---|---|---|---|
POV |
CostCenter1 |
CostCenter2 |
CostCenter3 |
CostCenter4 |
2008の人数合計 |
Dept_A |
1 |
2 |
3 |
5 |
11 |
Dept_B |
5 |
0 |
10 |
15 |
各POVについて、Essbaseは各コスト・センターの人数(各メンバーの基準値)を、範囲の合計人数(範囲の基準値)で除算してから、その値を各部門の合計賃貸料(金額)で乗算します。たとえば、Dept_A、CostCenter1の場合、メンバー基準値(1)が範囲の基準(11)で除算され、その結果(0.09090909)が金額(1000)で乗算されます: (1/11) * 1000 = 90.90909。Dept_B、CostCenter1の場合、割当て金額は666.6667です: (5/15) * 2000 = 666.6667。表234に、各コスト・センターに対する割当てシェア金額を示します:
この使用例の目的は、シェア割当てメソッドを使用することで、各部門が占有する平方フィート数に基づいて総月額賃貸料を部門全体で比例再配分することです。
次のような次元のアウトラインを想定します:
会社: 複数の元帳が含まれます。賃貸料割当てはVision US元帳で行われます。
部門: 次のメンバーが含まれます:
100: Vision USの総月額賃貸料を$100,000の中で蓄えておきます。この金額は部門999の子の間で比例割当てされます。
999: 次の各部門の親です:
101: 賃貸料割当ての45%を配分されます
102: 賃貸料割当ての30%を配分されます
103: 賃貸料割当ての25%を配分されます
勘定科目: 次のメンバーが含まれます:
5740: 賃貸料の勘定科目
SQFT: 各部門の平方フィート数を記録するために使用される統計勘定科目
金額タイプ: 次のメンバーの親であるPeriodActivtyが含まれます:
PeriodActivityDebit: ターゲットの場所
PeriodActivityCredit: オフセットの場所
賃貸料割当ては様々な方法で実行が可能で、個々の方法は同じ結果になります。2つのシナリオが存在します。各シナリオについて、各パラメータが次のように定義されていると仮定します:
割当てメソッド: シェア
範囲: 部門999の子孫:
101
102
103
範囲内のセルは除外されません。
基準: アクティビティの期間(月次)に対する各範囲メンバーの平方フィート数。
SQFT,PeriodActivity
ゼロ金額オプション: (デフォルト)ゼロの金額値を割り当てます。
ゼロ基準オプション: 基準値がゼロの場合、割当て操作を取り消します。
基準の時間スパン・オプション: (デフォルト)分割、各期間の基準値を個別に使用します。
丸めメソッド: 割当て値を最も近い1,000に丸めて、丸め誤差合計を部門101に追加します。
借方メンバー: 合計が正数の場合は、値をPeriodActivityDebitに書き込みます。
貸方メンバー: 値をPeriodActivityCreditに書き込みます。
シナリオ1では、各パラメータが次のように定義されていると仮定します:
POV: 会社次元の1つのメンバー、Vision USで構成されます。
1つの次元の1つのメンバーのみが指定されているため、POVは変化しないので割当ては1回だけ実行されます。
金額: 割当てのソース値は次の次元間メンバーが元になります:
5740,100,Beginning Balance
ターゲット: 割当て値を各部門の勘定科目5740に書き込みます。
オフセット: オフセット項目をメンバー5740,100に書き込みます。
シナリオ2では、各パラメータが次のように定義されていると仮定します:
POV: 2つの次元のそれぞれ1つのメンバーで構成されます:
Vision US: 会社次元のメンバー
5740: 金額次元のメンバー
このシナリオでは、勘定科目5740はPOVの一部です。基準では、勘定科目5740はメンバーSQFTで上書きされます。
各次元の1つのメンバーのみが指定されているため、POVは変化しないので割当ては1回だけ実行されます。
金額: 割当てのソース値は次の次元間メンバーが元になります:
100,Beginning Balance
ターゲット: 未設定です。POV、ターゲット、借方メンバー/貸方メンバー、および範囲の組合せはすべての次元のメンバーを使用するため、ターゲットは空にできます。
オフセット: オフセット項目を部門100に書き込みます。
式メンバーは金額および基準では使用できますが、ターゲットでは使用できません。ただし、集約ストレージ・データベースではトランザクション・セマンティクスがサポートされていないため、金額または基準で式メンバーを使用する際にデータ不整合の問題が発生する可能性があります。
次の例では、ユーザー1が一連の部門の収益値を転記し、各部門の年次累計収益が割当ての基準となる、ボーナス金額の割当てをユーザー2が実行します。これらの操作が実行される順序が結果に影響を及ぼします:
シナリオ1: ユーザー2が割当てを実行する前にユーザー1が収益を転記します。
割当て結果は更新された収益値に基づきます。
シナリオ2: ユーザー1が収益を転記する前にユーザー2が割当てを実行します。
割当て結果は更新された収益値ではなく、以前の収益値に基づきます。
シナリオ3: ユーザー1による収益の転記とユーザー2による割当ての実行が同時に行われます。
最初に開始されたユーザーの操作に応じて、割当て結果は更新済または以前の収益値に基づきます。
金額または基準で式メンバーを使用する際は、これらの操作を同時に実行することはお薦めしません。
また、割当てのための年次累計収益の計算にMDX式が使用されると仮定します。式の複雑性が結果に影響を及ぼす場合があります:
シナリオ4: 年次累計収益の式には1つの次元のメンバーが組み込まれ、+、-、/および*の演算式のみが使用されます。
割当て結果は完全に、更新済または以前の収益値に基づきます。
シナリオ4で説明したような、シンプルなMDX式を使用することをお薦めします。
シナリオ5: 年次累計収益の式がシナリオ4の式よりもはるかに複雑です。
割当て結果の一部は更新された収益値に基づいて、一部は以前の収益値に基づく可能性があります。
集約ストレージ・データベースで割当てまたはカスタム計算を実行する際、Essbaseは一時的なデータ・ロード・バッファを使用します。データ・ロード・バッファを作成するには不十分なリソースが集約ストレージ・キャッシュにある場合、Essbaseはリソースが使用可能になるまで待機します。
1つの集約ストレージ・データベースに、複数のデータ・ロード・バッファが存在できます。Essbaseが割当ておよびカスタム計算のために作成するデータ・ロード・バッファは、構成不可能です。ただし、データ・ロードおよび転記のために作成するデータ・ロード・バッファは構成できます。
割当てとカスタム計算を、データ・ロードおよび転記と同時に実行する場合は、データ・ロードおよび転記のために作成するデータ・ロード・バッファのリソース使用率を、最大の0.8(80%)に設定します。リソース使用率を低く設定するほど、データ・ロードおよび転記と同時に実行可能な割当ておよびカスタム計算の数は増加します。また、ロード・バッファ操作を処理するため、リソースが使用可能になるのをEssbaseが待機する時間も構成できます。
データ・ロード・バッファを構成するには、initialize load_buffer文法およびASOLOADBUFFERWAIT構成設定でMaxLのalter databaseステートメントを使用します。
総勘定元帳の記帳では、オフセット項目は、等しい値の取引からの元帳の反対側の相殺メジャーとなります。このドキュメントでは、オフセット項目はオフセットと呼ばれます。
オフセットの指定はオプションです。オフセットは、借方の合計と貸方の合計が等しくない場合に必要になる可能性があります。貸方および借方の合計が等しくない場合、元帳は未決済になります。このようなケースで、オフセットが元帳の貸借一致に使用されます。
たとえば、Januaryの$100という貸方では、元帳の借方側に$100のオフセットが追加される可能性があるため、元帳はその金額の今後の支出への準備として貸借一致する場合があります。
オフセットはタプルの形式で指定する場所で、この場所にカスタム計算スクリプトの結果をオフセットする値がEssbaseによって書き込まれます。
次の例では、POVがProd1、Prod2、AcctA、AcctB、Janと仮定します。
次のカスタム計算スクリプトの合計は13になります。
mbr1 := 7; mbr2 := -4; mbr3 := 0; mbr4 := 10;
したがって、オフセットが必要な場合、オフセットも13である必要があります。オフセットが"Offset_Member"というメンバーに書き込まれると仮定します。
Debit Credit mbr1 7 mbr2 4 mbr3 0 mbr4 10 mbr_offset 13 Total 17 17
オフセットが使用される際、貸方および借方処理は逆順になります。オフセットが貸方および借方処理で使用される場合は次のような計算プロセスが実行されます。
指定されたPOVについて、計算スクリプトで記述された結果の合計(このケースでは13)を取得します。
合計が正数の場合は、ターゲット・データベースの貸方メンバーに書き込みます。
合計が負数の場合は、正数に変更してからターゲット・データベースの借方メンバーに書き込みます。
Oracle General Ledgerは複式簿記を使用します。ここではすべての取引に借方項目と貸方項目の2つの仕訳があります。
したがって、すべての取引に対して2つの勘定科目があり、列として表されます。2つの勘定科目は貸借一致する必要があります。つまり、借方列の合計は貸方列の合計と等しくなります。
借方メンバーが指定可能で、これにはカスタム計算が正の結果値を書き込み、貸方メンバーも指定可能で、これにはカスタム計算が負の結果値およびオフセット結果値を書き込みます。借方メンバーおよび貸方メンバーは同じ次元の2つの異なるメンバーである必要があります。たとえば、"AmountType"という次元には"Credit"および"Debit"という2つのレベル0の子がある場合があります。
ターゲット・データベースのレベル0セルに正数が書き込まれるような計算結果になった場合は、常に、正の値が借方メンバーに書き込まれます。
ターゲット・データベースのレベル0セルに負数が書き込まれるような計算結果になった場合は、常に、記号が正に変更されて、貸方メンバーに書き込まれます。