Essbaseデータベースの計算

この項の内容:

データベースの計算について

多次元計算の概念について

デフォルト計算の設定

データベースの計算

計算の取消し

並列計算とシリアル計算

セキュリティに関する考慮事項

この章の情報は、ブロック・ストレージ・データベースのみに適用され、集約ストレージ・データベースとは関係がありません。

関連項目:

データベースの計算について

データベースには、次の2タイプの値が含まれます:

  • ユーザーが入力する値(入力データ)

  • 入力データから計算される値

例:

  • 様々な製品の地区ごとの売上高を入力します。さらに、それぞれの合計売上高を計算します。

  • いくつかの地区のいくつかの製品について、売上原価の予算値および実績値を入力します。地区ごとに、各製品の予算値と実績値の差異を計算します。

  • データベースには、全製品の地区ごとの売上高および価格が含まれています。ある地区である製品の価格を5%上昇させた場合、全体の収益がどうなるかを計算します。

異なるプラットフォームで計算を実行すると、オペレーティング・システムの数理ライブラリの相違により、セルの値の精度に微妙な差異が発生する場合があります。

注:

ほとんどのコンピュータでは、数値は2進数(バイナリ)で表現されます。このため、実数の近似表現が得られるのみです。バイナリ・コンピュータでは、小数点以下の桁数が有限なので、1/3 (0.3333...)のような分数を、端点を持つ小数として表現できません。正確に表現できるのは、分母が2のべき乗(0.50など)や10のべき乗(0.10など)の実数のみです。浮動小数点数表現については、IEEE標準754(IEEE, 1985)を参照してください。

Essbaseでは、次の2通りの方法でデータベースを計算できます:

  • アウトライン計算

  • 計算スクリプトの計算

どちらを選択するかは、実行する計算のタイプによって異なります。

アウトライン計算

アウトライン計算は、最も単純化された計算方法です。Essbaseでは、データベース・アウトラインにおけるメンバー間の関係、およびアウトラインにおけるメンバーに関連付けられている任意の式に基づいて、データベースの計算が行われます。

たとえば、図106は、Sample.Basicデータベースの市場次元のメンバー間の関係を示しています。New York、Massachusetts、Florida、ConnecticutおよびNew Hampshireの値の合計がEastの値になります。East、West、SouthおよびCentralの合計が市場次元の合計値になります。

図 106. 市場次元のメンバー間の関係

この図は、この図の前のテキストで説明されている、メンバー間の関係を示す市場次元のアウトラインを示しています。

図107は、Sample.Basicデータベースのシナリオ次元を示しています。VarianceメンバーとVariance%メンバーは、それぞれに付加された式から計算されます。

図 107. VarianceとVariance%の計算

この図は、この図の前のテキストで説明されている、VarianceおよびVariance%メンバーに式が付加されたシナリオ次元のアウトラインを示しています。

メンバーの組合せは、通常のデータベース計算時に計算するのではなく、データの取得時に計算した方が効率がよいことがあります。動的計算を使用して、取得時にデータを計算できます。データ値の動的計算。を参照してください。

計算スクリプトの計算

計算スクリプトの計算は、2番目の計算方法です。計算スクリプトを使用すると、データベースの計算方法を厳密に選択できます。たとえば、データベースの一部を計算したり、メンバー間でデータ値をコピーしたりできます。

計算スクリプトには、一連の計算コマンド、等式および式が含まれています。たとえば、次の計算スクリプトは、ニューヨーク地区のマーケティング・コストの実績値を5%増やします。

      FIX (Actual, “New York”)
    Marketing = Marketing *1.05;
ENDFIX;
   

ブロック・ストレージ・データベース用の計算スクリプトの作成。を参照してください。

多次元計算の概念について

図108は、単純なデータベースを使用して、多次元計算の性質を説明しています:

図 108. 多次元データベースの計算

この図は、この図に続く多次元計算の説明の基礎となる勘定科目、時間およびシナリオ次元があるアウトラインを示しています。

このデータベースには、勘定科目、時間およびシナリオの3つの次元があります。

会計次元は、次の4つのメンバーで構成されています:

  • 入力値であるSalesとCOGS

  • Margin = Sales - COGS

  • Margin% = Margin % Sales (SalesのパーセンテージとしてのMargin)

時間次元には4つの四半期が含まれます。この例では、第1四半期(Qtr1)のメンバーであるJan、FebおよびMarのみが表示されています。

シナリオ次元には2つの子メンバーがあります。つまり、予定値を示すBudgetおよび実績値を示すActualです。

図108のアウトラインは、図109で3次元キューブとして図示されています:

図 109. 3次元データベースの図

この図は、この図の前のテキストで説明されている、3次元のキューブを示しています

メンバーの交差部(各次元の1つのメンバー)はデータ値を表しており、データ値はデータベース内の1つのセルに保管されます。多次元データベース内の特定のデータ値を参照するには、各次元でそれぞれのメンバーを指定する必要があります。Essbaseでは、メンバーの組合せは次元間演算子(->)によって示されます。ハイフン(-)と大なり記号(>)を使用して、次元間演算子を作成します。次元間演算子とメンバーの間にはスペースを入力しないでください。

Sales、Jan、Actualのデータ値が含まれている単一のセルは、図110に示すように、Sales -> Jan -> Actualとして記述されます。

図 110. データベースのSales、Jan、Actualスライス

この図は、この図の前のテキストで説明されている、単一のセルを示すキューブを示しています。

図111に示すように、Salesを参照するときは、次の8つの値を含むデータベースのスライスを参照することになります:

  • Sales -> Jan -> Actual

  • Sales -> Feb -> Actual

  • Sales -> Mar -> Actual

  • Sales -> Qtr1 -> Actual

  • Sales -> Jan -> Budget

  • Sales -> Feb -> Budget

  • Sales -> Mar -> Budget

  • Sales -> Qtr1 -> Budget

図 111. データベースのSales、Actual、Budgetスライス

この図は、この図の前のテキストで説明されている、8つの値を含むデータベースのスライスを示すキューブを示しています。

図112に示すように、Actual Salesを参照するときは、次の4つの値を参照することになります:

  • Sales -> Jan -> Actual

  • Sales -> Feb -> Actual

  • Sales -> Mar -> Actual

  • Sales -> Qtr1 -> Actual

図 112. データベースのActual、Salesスライス

この図は、この図の前のテキストで説明されている、4つの値を含むデータベースのスライスを示すキューブを示しています。

Essbaseで式「Margin% = Margin % Sales」を計算するときは、各Marginの値が取得されて、対応するSales値のパーセントとして計算されます。

Essbaseでは、データベース内が循環され、Margin%は次のように計算されます:

  1. Margin -> Jan -> ActualはSales -> Jan -> Actualのパーセンテージとして計算されます。

    結果はMargin% -> Jan -> Actualに配置されます。

  2. Margin -> Feb -> ActualはSales -> Feb -> Actualのパーセンテージとして計算されます。

    結果はMargin% -> Feb -> Actualに配置されます。

  3. Margin -> Mar -> ActualはSales -> Mar -> Actualのパーセンテージとして計算されます。

    結果はMargin% -> Mar -> Actualに配置されます。

  4. Margin -> Qtr1 -> ActualはSales -> Qtr1 -> Actualのパーセンテージとして計算されます。

    結果はMargin% -> Qtr1 -> Actualに配置されます。

  5. Margin -> Jan -> BudgetはSales -> Jan -> Budgetのパーセンテージとして計算されます。

    結果はMargin% -> Jan -> Budgetに配置されます。

  6. Essbaseでは、データベース内のメンバーのあらゆる組合せに対するMargin%の計算が終わるまで、データベース内を循環します。

計算順序の定義。を参照してください。

デフォルト計算の設定

デフォルトでは、データベースの計算はデータベース・アウトラインのCALC ALLになります。CALC ALLは、すべての次元およびメンバーを集計し、アウトライン内のすべての式を計算します。

ただし、任意の計算スクリプトをデフォルトのデータベース計算として指定することもできます。たとえば、計算を実行するたびにスクリプトをロードするのではなく、よく使用するスクリプトをデータベースに割り当てることができます。データベース・レベルで定義した計算設定で計算スクリプトを使用する場合は、この計算スクリプトをデフォルトの計算として設定する必要があります。

  デフォルトの計算を設定するには、次のツールを使用します:

ツール

トピック

場所

Administration Services

デフォルト計算の設定

Oracle Essbase Administration Services Online Help

MaxL

alter database

『Oracle Essbaseテクニカル・リファレンス』

ESSCMD

SETDEFAULTCALCFILE

『Oracle Essbaseテクニカル・リファレンス』

データベースの計算

計算権限を持っていれば、データベースを計算できます。

Administration Servicesを使用してデータベースを計算するときには、計算をバックグラウンドで実行できるので、計算の処理中でも作業を続けることができます。バックグラウンド・プロセスのステータスを確認して、いつ計算が完了したかを確認できます。

  データベースを計算するには、次のツールを使用します:

ツール

トピック

場所

Administration Services

ブロック・ストレージ・データベースの計算

Oracle Essbase Administration Services Online Help

MaxL

execute calculation

『Oracle Essbaseテクニカル・リファレンス』

ESSCMD

CALC、CALCDEFAULT、CALCLINE

『Oracle Essbaseテクニカル・リファレンス』

Smart View

データベース全体の計算

Oracle Hyperion Smart View for Office User's Guide

計算の取消し

  Essbaseの計算を途中で停止するには、計算の実行中に「取消し」ボタンをクリックします。

計算を取り消すと、Essbaseにより、次のいずれかの操作が実行されます:

  • すべての値を以前の状態に戻す

  • 取消し前に計算されたあらゆる値の保存

Essbaseでの取消しの処理方法は、Essbaseのカーネルの分離レベル設定によって異なります。分離レベルの理解を参照してください。

並列計算とシリアル計算

Essbaseでは、並列計算とシリアル計算がサポートされます:

  • シリアル計算(デフォルト): 計算のすべての手順を単一のスレッドで実行します。各タスクが完了してから次のタスクが開始されます。

  • 並列計算: Essbaseの計算機では計算を分析できます。さらに、場合によっては複数のCPU(最大4つ)にタスクを割り当てることもできます。

並列計算の使用を参照してください。

セキュリティに関する考慮事項

データベースを計算するには、データベース・アウトラインの計算権限が必要です。計算権限があれば、データベース内のあらゆる値を計算できます。セキュリティ・フィルタによって読取りおよび更新権限が禁止されている場合でも値を計算できます。ユーザーに計算権限を付与するかどうかは慎重に決定してください。

EPM Systemセキュリティ・モードでのユーザーの管理およびセキュリティ。を参照してください。