機械翻訳について

ボトムアップ計算の使用

トップダウン計算は、必要以上に多くのブロックが計算されるため、ボトムアップ計算より効率的ではありません。 トップダウン計算はボトムアップ計算より効率的ではありませんが、場合によっては、計算結果が正しいことを確認するためにトップダウン計算が必要になります。

次のトピックでは、様々な状況で使用する計算について説明します:

ボトムアップおよびトップダウンの計算

Essbaseでは、2つの計算メソッドのいずれかを使用して、データベース・アウトラインのボトムアップ計算またはトップダウン計算を完全に計算します。 デフォルトでは、Essbaseはボトムアップ計算を実行します。

ボトムアップ計算の場合、Essbaseは、データベースを計算する前にどのデータ・ブロックを計算する必要があるかを判断します。 Essbaseでは、計算が必要なブロックのみが計算されます。 計算は、最小のブロック番号を持つ既存のブロックから始まり、最大のブロック番号を持つ既存のブロックに達するまで、各ブロックを番号順に処理します。 「ブロック計算順序」を参照してください。

データベース・アウトラインに複雑なメンバー式が含まれている場合、Essbaseは関連するメンバーのトップダウン計算を実行します。

次の情報を使用して、ボトムアップ計算およびトップダウン計算での単純および複雑なformulaの相互作用の詳細を学習します:

ボトムアップ計算および単純な算式

単純な式の場合、Essbaseはボトムアップ計算を実行して、完全計算を実行する前に計算する必要があるブロックを決定します。 たとえば、メンバーの単純な式(A = B + Cなど)では、BまたはCがデータベースに存在する場合にのみAが計算されます。 つまり、計算が開始される前に、BおよびCに対する計算式の依存関係がわかっています。

トップダウン計算および複雑な式

計算を開始する前に、Essbaseはデータベース・アウトラインを検索し、トップダウン計算を必要とする複雑な式(ディメンション間参照を含むメンバー式など)をマークします。 Essbaseは、トップダウン式を使用してメンバーに到達すると、そのメンバーのトップダウン計算を実行します。

メンバーの式が複雑な場合、メンバーのすべての可能なブロックを調べて、既存のブロックを変更する必要があるか、新しいブロックを作成する必要があるかを確認する必要があります。計算を開始する前に、ブロックが他のブロックに依存しているかどうかを判断することは困難です。 トップダウン方式では、式を実行するために、Essbaseで適切なブロックを検索して計算する必要があるため、計算のパフォーマンスが低下します。

Formulaのコンパイル時に、formulaをトップダウンで計算する場合、Essbaseはアプリケーション・ログ・ファイルにメッセージを記録します。

次の複雑な式を考えてみます:

A = B -> D + C -> D

式を計算するには、EssbaseでAのすべての組合せを調べて、B -> DまたはC -> Dが存在するかどうかを確認する必要があります。

「複雑な算式の使用」を参照してください。

ボトムアップ計算の強制

サイトに適している場合は、トップダウン式でボトムアップ計算を強制できます。

ボトムアップ計算を強制するには、次のいずれかのメソッドを使用します:

  • 計算機能-算式内の@CALCMODE

  • 計算スクリプト・コマンド-SET FRMLBOTTOMUP

  • 構成設定:

    • CALCOPTFRMLBOTTOMUP

    • CALCMODE

式にボトムアップ計算を強制すると、通常はパフォーマンス時間が長くなります。 式に複雑な関数(範囲関数など)が含まれている場合、または式の依存関係が単純でない場合、ボトムアップ計算ではトップダウン計算とは異なる結果が生成されることがあります。

注意:

CALCOPTFRMLBOTTOMUP設定を変更する前、または本番環境で計算スクリプト・コマンドSET FRMLBOTTOMUPを使用する前に、同じデータ、ボトムアップ計算の結果およびトップダウン計算の結果を比較して、計算結果の妥当性を確認します。