シナリオの理解

シナリオとは、既存のデータに影響を与えずに、Essbaseデータ内の様々な仮定をモデリングして集約結果への影響を確認するために使用できるプライベート作業領域です。

各シナリオは、1人以上のユーザーがデータをモデリングし、変更をコミットまたは破棄できるキューブの仮想スライスです。

シナリオ対応キューブには、サンドボックスと呼ばれる特別なディメンションがあります。サンドボックス・ディメンションはフラットで、基本と呼ばれる1つのメンバーおよび一般的にサンドボックス・メンバーと呼ばれる最大1000の他のメンバーを使用します。サンドボックス・ディメンション内のすべてのメンバーはレベル0です。サンドボックス・メンバーには、sb0、sb1などのように名前が指定されます。各サンドボックスは個別の作業領域ですが、基本には現在キューブに含まれているデータが保持されます。特定な1つのシナリオが正確に1つのサンドボックス・メンバーに関連付けられています。

Sandbox
        Base
        sb0
        sb1
        sb2

基本データは、サンドボックスを使用して可能な変更をモデリングする前の開始点です。サンドボックス・データ(シナリオ・データとも呼ばれる)は、シナリオ所有者が適用しないかぎりコミットされず、適用した時点で基本データを上書きします。

最初に作成されたとき、サンドボックス・メンバーの交差はすべて仮想で、物理的な記憶域はありません。キューブからの物理データは、基本メンバー・スライスに格納されます。新しいサンドボックス・メンバーを問い合せると、基本に格納されている値が動的に反映されます。

サンドボックスのいずれかの値を更新した場合にのみ、変更内容がそのサンドボックスに物理的に格納されます。サンドボックス・メンバーの一部の値を更新すると、そのサンドボックスに対する問合せには、格納されたサンドボックス値と基本から動的に継承された値の混合が反映されます。

サンドボックスで発生した変更は、一般的に承認ワークフローの後に明示的に実行するまで基本にコミットされません。シナリオのユーザー・ロールおよびワークフローの理解を参照してください。

サンドボックスでの作業を終了した後は、そのサンドボックスの承認ワークフローを実行するか、ワークフローをスキップして更新された値を基本にコミットするか、あるいはサンドボックスの変更を破棄できます。

シナリオ管理のハイブリッド・モードが機能するために、有効にする必要があります。問合せには、デフォルトで有効になっています。無効にしないでください。計算には、HYBRIDBSOINCALCSCRIPTアプリケーション構成も有効にする必要があります。「HYBRIDBSOINCALCSCRIPT」を参照してください(または、計算ごとに制御するには、SET HYBRIDBSOINCALCSCRIPT計算コマンドを使用します)。

セキュリティおよびフィルタは、サンドボックス・ディメンションに適用されます。

シナリオ対応キューブには、内部プロセスの場合と同様に、無視する必要があるCellPropertiesディメンションがあります。このディメンションは、計算、問合せまたはロード・ルールで変更したり考慮する必要はなく、計算や他の操作に使用しないでください。

シナリオ・データの表示および操作

Smart Viewのシナリオ・データを表示および操作する場合、2つのエントリ・ポイントがあります。

Essbase Webインタフェースを使用してSmart Viewのシナリオを起動したり、Smart Viewプライベート接続を使用してシナリオ・データを操作できます。

シナリオのデータを分析するには、次の権限のすべてが必要です。
  • アプリケーションに対してプロビジョニングされたユーザーであること。
  • アプリケーションに対して最低限のデータベース・アクセス権限を持っていること(サンドボックスのデータを変更する場合は書込みフィルタを持っていること)。
  • (より高い権限を持つユーザーによって作成された)シナリオの関係者であること。

Essbase Webインタフェースからのシナリオ・データの表示および操作

Smart Viewは、Webインタフェースでシナリオから起動できます。

この方法を実行すると、シナリオから入力するため、ユーザーは、入力したシナリオに関連付けられているサンドボックス・メンバーのSmart Viewでのみ作業できます。サンドボックス・メンバーは暗黙的です。Smart Viewグリッドには表示されません。

  1. Essbaseで、「シナリオ」をクリックします

  2. 表示するシナリオの横にある「Excel」アイコン 「Excel」アイコンのイメージ。 をクリックします。

  3. ファイルを開くように選択します。

  4. シナリオへのSmart View接続でExcelが起動します。

この操作を実行すると、その特定のシナリオに対するデータのスライスがワークシートに表示されます。そのシナリオ内のデータのみ問い合せることができます。アプリケーションでデータベースの更新以上の権限を持っている場合、そのシナリオにデータを送信できます。(シナリオにデータを送信する場合は、単一のサンドボックス・メンバーにデータを送信することになります)。

WebインタフェースからSmart Viewでシナリオを起動できるのは、Firefox、Internet ExplorerまたはChromeブラウザを使用しているWindowsのみです。

Smart Viewのプライベート接続からのシナリオ・データの表示および操作

Webインタフェースから開始せずに、Excelを開いて自分のキューブにプライベート接続できます。

この方法を実行すると、サンドボックス・ディメンションがワークシートに表示されるため、アクセス権がある任意のサンドボックス・メンバーにデータを発行できます。これは、自分が複数シナリオの関係者である場合に役立ちますが、作業中のサンドボックスを明示的に認識する必要があります。

シナリオに関連付けられているサンドボックス・メンバーを表示するには、Webインタフェースに移動し、「シナリオ」をクリックしてシナリオ名をクリックし、「一般情報」タブを表示します。

  1. Excelを開きます。

  2. シナリオに対応したキューブにプライベート接続を確立します。

  3. アド・ホック分析を実行します。

  4. サンドボックス・ディメンションをドリルして、サンドボックス・メンバーを表示します。

これは、基本メンバーとサンドボックス・メンバーが含まれているSmart Viewグリッドです。サンドボックスの値は更新されていないため、ベース値が反映されます。これらの値は、サンドボックス・メンバーではなく、基本メンバーにのみ格納されます。


基本メンバーとサンドボックス・メンバーが表示されているSmart Viewグリッドのイメージ。

次の変更されたサンドボックス値500は、サンドボックス・メンバーに格納されます。更新されていない残りのサンドボックス値の271は基本メンバーにのみ格納されます。


基本メンバーとサンドボックス・メンバーが表示され、サンドボックス・メンバーの値が変更されたSmart Viewグリッドのイメージ。

複数のサンドボックス・メンバーがあるグリッドを次に示します。「データベース・アクセス」ユーザー・ロールおよび適切な書込みフィルタが割り当てられている場合は、複数のシナリオ内で同時にデータを送信できます。


複数のサンドボックス・メンバーがあるSmart Viewグリッドを示すイメージ。

シナリオ計算について

Essbaseでは、fix文を使用して計算のスコープがディメンション内の特定のメンバーまたはメンバー・グループに制限されていないかぎり、ディメンション内のすべてのメンバーがデフォルトで計算されます。

サンドボックス・ディメンションはこの動作の例外となります。サンドボックス・ディメンション内のメンバーがfixで計算対象として指定されていない場合は、サンドボックス・ディメンション内の基本メンバーのみがデフォルトで計算されます。サンドボックス・ディメンション内の基本メンバー以外を計算するには、fix文でそれらのメンバーを指定し、オプションで基本メンバーを指定します。

fix文でサンドボックスの基本メンバー以外を指定する場合、基本メンバーは明示的にfixに追加しないかぎり計算から除外されます。

この動作は、fixから除外された非サンドボックス・ディメンションに対する計算とは異なります。ディメンションをfix文から除外すると、Essbaseはすべてのメンバーを暗黙のディメンションから計算します。サンドボックス・ディメンションの計算は、インテントが通常、指定時における基本または特定サンドボックスの計算であるため、他の計算と異なります。Essbaseでは、次の場合を除いて、作業中のサンドボックス値ではなく基本メンバーの値が計算されます。

  • 計算で特定のサンドボックス・メンバーが固定された場合。

  • Webインタフェースでシナリオから起動されたシート(シナリオ起動シートと呼ばれる)から、計算が実行された場合。Essbase Webインタフェースからのシナリオ・データの表示および操作を参照してください。

  • プライベート接続Smart Viewシートでサンドボックスのセル値が選択され、計算スクリプトが起動された場合。

シナリオ起動シートから計算スクリプトを実行する場合、スクリプト内で明示的にサンドボックスが言及されていないかぎり、計算はそのシナリオに関連付けられているサンドボックス内で実行されます。

Smart Viewプライベート接続を使用してシートを開き、サンドボックス値および基本値を表示している場合、サンドボックスを明示的に固定せずに、サンドボックスから任意のデータ・セルを強調表示して計算スクリプトを起動すると、サンドボックスが暗黙的に計算され、Smart Viewはサンドボックスが計算されたことを示します。基本メンバーのセルを強調表示した(またはセルを強調表示しない)場合、計算スクリプトを起動すると基本が計算され、Smart Viewは基本が計算されたことを示します。

予約済のランタイム代替変数名: ess_sandbox_mbrを使用することによって、既存のMaxLスクリプトを使用してサンドボックス・メンバーを計算できます。

この文は、サーバーまたはアプリケーションに代替変数を作成せずに、任意のMaxLスクリプトで(サンドボックスに対して)実装できます。

execute calculation appname.dbname.calcname with runtimesubvars ‘ess_sandbox_mbr=sb0;’;

シナリオが使用可能なキューブへのデータ・ロードについて

シナリオに対してキューブを有効にする前に行われるデータ・エクスポートを使用して、シナリオが使用可能なキューブをロードできます。データは基本サンドボックス・メンバーにロードされます。

列エクスポートを使用しなかった場合は、データ・ロードを無効化するアウトライン・メンバー変更を実行できません。列エクスポートを使用したが、アウトラインが変更された場合は、データのロードに.rulファイルが必要になることがあります。

シナリオが使用可能なキューブからのデータ・エクスポートについて

シナリオが使用可能なキューブには内部目的のCellPropertiesディメンションがありますが、このディメンションはデータ・エクスポートに含まれていて、エクスポートされたデータのロード時に考慮する必要があります。また、エクスポートされたデータの使用時にサンドボックス・ディメンションの動作を理解することが重要です。

シナリオが使用可能なキューブからデータをエクスポートする際の考慮事項は、次のとおりです。

  • Webインタフェースのジョブ・ページを使用して、シナリオが使用可能なキューブからデータをエクスポートする場合、結果のデータ・ファイルにはCellPropertiesディメンションの3つのメンバー(EssValue、EssStatusおよびEssTID)がすべて含まれます。これらの列を消去しないでください。
  • エクスポートからのデータ・ファイルには、ユーザーの選択(レベル・ゼロのデータ、すべてのデータまたは入力データ)に基づいて、キューブに物理的に格納されているデータが含まれています。
  • 値がサンドボックスで変更されている場合、サンドボックスの値はエクスポート内に含まれるようになります。
  • エクスポートされたデータをサンドボックスにロードするには、CellPropertiesの3つのメンバーすべて(EssValue、EssStatusおよびEssTID)の値がデータ・ファイルに存在する必要があります。

シナリオが使用可能なキューブでの透過およびレプリケート・パーティションについて

透過およびレプリケート・パーティションは、2つのEssbaseキューブからのスライスを接続します。これは、どちらか1つ、または両方のキューブがシナリオを使用できない場合のケースです。

シナリオが作成されると、サンドボックスが使用されるようになります。ただし、パーティション化されたキューブのシナリオが同じサンドボックス番号にマップされる保証はありません。同じユーザーが、複数のキューブのサンドボックスの関係者でない場合があります。シナリオを導入すると、次の制限が課されます。

  • 透過パーティションのソースがシナリオを使用可能な場合、ターゲット問合せは、常にソースの基本サンドボックス・メンバーからデータをプルします。
  • シナリオが使用可能なソース・キューブとターゲット・キューブの間のライトバックは、キューブ内のターゲット・キューブの基本からソース・キューブの基本への基本メンバー間でのみ許可されます。

    例: ソースへのライトバックは通常、透過パーティション・ターゲット・キューブからは有効ですが、シナリオが使用可能なターゲット・キューブの非基本サンドボックス・メンバーに対しては無効です。リモート・サンドボックス・ユーザーがソース・キューブの基本に直接書き込むことを許可するのは、権限違反です。

  • レプリケート・パーティションの場合、レプリケーションはソース・キューブの基本とターゲット・キューブの基本の間でのみ可能です。

透過およびレプリケート・パーティションの理解を参照してください。

シナリオが使用可能なキューブでのXREF/XWRITEについて

シナリオ対応キューブでは、XREFおよびXWRITEを使用して別のキューブのデータを参照したり、別のキューブにデータを書き込むことができます。

XREFは、ローカル・キューブ(XREF文を含むキューブ)からリモート・キューブを問い合せます。リモート・キューブがシナリオ対応の場合、XREFはリモート・キューブから基本データのみをプルします。

XWRITEは、ローカル・キューブ(XWRITE文を含むキューブ)からリモート・キューブを更新します。XWRITEはリモート・キューブにデータを書き込むため、XWRITE文のスコープが重要になります。

シナリオ対応およびシナリオ非対応のキューブの様々な組合せに対して、XWRITEは次のように動作します。

シナリオ対応のローカル・キューブがシナリオ非対応のリモート・キューブを参照する場合、
  • リモート・キューブへのXWRITEを含むローカル・キューブ内の基本メンバーをFixすると、ローカル・キューブの基本をリモート・キューブに書き込みます。
  • リモート・キューブへのXWRITEを含むローカル・キューブ内のサンドボックス・メンバーをFixしない場合は、ローカル・キューブの基本をリモート・キューブに書き込みます。サンドボックス・メンバーをFixに含めない場合、基本が自動的に含まれます。
  • リモート・キューブへのXWRITEを含むローカル・キューブ内のサンドボックスをFixすると、エラーを返します。非基本サンドボックス・メンバーからリモート・キューブへの書込みはサポートされていません。
シナリオ対応のローカル・キューブがシナリオ対応のリモート・キューブを参照する場合、
  • リモート・キューブへのXWRITEを含むローカル・キューブ内の基本メンバーをFixすると、ローカル・キューブの基本をリモート・キューブの基本に書き込みます。
  • リモート・キューブへのXWRITEを含むローカル・キューブ内のサンドボックス・メンバーをFixしない場合は、ローカル・キューブの基本をリモート・キューブの基本に書き込みます。サンドボックス・メンバーを含めない場合、基本が自動的に含まれます。
  • リモート・キューブへのXWRITEを含むローカル・キューブ内のサンドボックスをFixすると、エラーを返します。非基本サンドボックス・メンバーからリモート・キューブへの書込みはサポートされていません。

シナリオ非対応のローカル・キューブがシナリオ対応のリモート・キューブを参照する場合、XWRITEは常にリモート・キューブの基本メンバーを更新します。

@XREF/@XWRITEの理解を参照してください。

シナリオを使用可能なキューブでの監査証跡について

データ監査証跡は、キューブ内のデータに行われた更新をトラッキングします。シナリオを使用可能なキューブで監査証跡を使用するには、何が古いデータ値と新しいデータ値を定義するかについてと、Smart Viewのサンドボックス・データを使用する際の異なる2つのエントリ・ポイントについて理解する必要があります。

このトピックでは、ユーザーは、シナリオ・データを表示する際の異なるエントリ・ポイントに精通しているものと仮定します。関連項目:

セルにコミットされた最新のデータ更新を新しいデータ値とみなす場合、そのセルのそれより前のデータ値はすべて古いものとなり、シナリオを使用可能なキューブでの監査証跡の仕組みを理解する上で役立ちます。

シナリオを使用可能なキューブの新しい、または未使用のサンドボックスには、格納されている値はありません。スプレッドシートに表示される値など、ユーザーに表示される値は、ベースに格納されている値を反映しています。

シナリオを使用可能な新しいキューブでデータ監査証跡を使用する場合、サンドボックスのスプレッドシートに表示されるベース値は、古いデータとみなされます。

サンドボックスのデータを更新すると、それらの値は(ベースではなく)サンドボックスに格納されます。データ監査証跡の目的においては、これらの値が新しい値となります。

後でこれらの新しいデータを更新すると、監査証跡により、最新の変更がトラッキングされます。以前の値は古いもの、更新された値は新しいものとして扱われます。

要約すると、
  • 古い値は、新しいサンドボックスに反映されるベース値です。
  • 最初は、サンドボックスに格納されている更新された値が新しい値です。
  • それ以降は、更新されたものが新しい値となり、それらで置き換えられる値が古い値となります。
Smart Viewのデータを使用する際のエントリ・ポイントは2つあります:
  • Essbase Webインタフェースから開始せずに、Excelを開いて自分のキューブにプライベート接続を行う場所。
  • WebインタフェースでシナリオからSmart Viewを起動する場所。

Excelを開いて自分のキューブへのプライベート接続を開始する場合、監査証跡は、その他のデータ・セットの場合と同じように動作します。

Essbase WebインタフェースでシナリオからSmart Viewを起動する場合、監査証跡の動作は異なります。
  • シートにログをエクスポートする際、シートには暗黙的なサンドボックス・メンバーは表示されません。
  • 「監査証跡」ペインの下にある「非定型」ボタンを使用して新しいシートを開くと、新しいシートには暗黙的なサンドボックス・メンバーは表示されず、そのシートでの変更は、そのサンドボックス・メンバーのデータ値に影響します。

シナリオの制限について

これらの制限は、シナリオおよびサンドボックスのディメンションに適用されます。

  • シナリオは、集約ストレージ・キューブではサポートされていません。

  • サンドボックス・メンバーでは、DATAEXPORT計算コマンドはサポートされていません。基本メンバーでのみサポートされます。

  • シナリオ起動シートからシナリオに接続している場合、MDX問合せ、MDX挿入およびMDXエクスポートでは、そのシナリオのサンドボックス・メンバーではなく、基本メンバーが操作されます。

  • Essbase WebインタフェースからSmart Viewでシナリオを起動した場合は、svLaunchパラメータのランタイム代替変数がサポートされません。Essbase Webインタフェースからのシナリオ・データの表示および操作を参照してください。

    プライベート接続からシナリオに直接接続している場合は、svLaunchパラメータのランタイム代替変数が正しく機能します。これは、サンドボックス・メンバーがシートに含まれているためです。

シナリオを使用可能なキューブで使用されるハイブリッド・モードでは、一定数のサポートされていない関数があります。ハイブリッド・モードでサポートされる関数を参照してください。