Oracle Essbaseデータ・ソースの操作

このトピックでは、セマンティック・モデラーによって物理レイヤーでOracle Essbaseデータがモデリングされるデフォルトの方法について説明します。このトピックでは、Essbaseデータをモデリングできる様々な方法についても説明します。

Essbaseデータ・ソースからのメタデータのインポートについて

Essbaseデータ・ソースからセマンティク・モデルにメタデータをインポートすると、そのモデルの論理レイヤーをサポートする方法で、キューブ・メタデータがそのモデルの物理レイヤーにマップされます。

デフォルトでは、セマンティック・モデラーによって、ディメンションのすべてのメンバーに適用されるメタデータ(別名など)がディメンション・プロパティとしてモデリングされます。セマンティック・モデラーでは、アウトライン・ソートやメモリー情報などのレベルベースのプロパティが、ディメンション内の個別の物理キューブ列としてマップされます。

物理列タイプ

セマンティック・モデラーでは、Essbaseメタデータに対して次のタイプの物理列がサポートされます:

  • 祖先参照 - ディメンションの祖先を参照します。

  • 属性 - 列が属性タイプであることを示します。属性ディメンションに使用されます。

  • リーフ・インジケータ - 列が階層の最も低いメンバーであることを示します。

  • メンバーの別名 - 別名列であることを示します。

  • メンバー・キー - 列がメンバー・キーであることを示します。

  • その他 - リストされているもの以外のタイプまたは不明なタイプであることを示します。

  • アウトライン・ソート - memnorタイプの列を示し、論理レイヤーのアウトライン・ソートに使用されます。アウトライン・ソート列は、各ディメンションの最も低いレベルでインポートされます。

  • 親参照 - ディメンションの親を参照します。

  • ルート・インジケータ - 列が階層のルート・メンバーであることを示します。

  • UDA - 列がユーザー定義属性(UDA)であることを示します。

システムでは、列タイプ「アウトライン・ソート」「祖先参照」「メンバー・キー」リーフ・インジケータルート・インジケータおよび「親参照」が内部的に使用されます。これらの列タイプは変更しないでください。

Essbaseコンポーネント

セマンティック・モデルで使用するEssbaseデータ・ソースは次のとおりです:

  • 置換変数 - Essbase置換変数は自動的に取得されて、対応するOracle Analyticsリポジトリ変数に移入されます。Essbase変数のスコープに応じて、変数の命名規則は次のようになります:

    サーバー・インスタンスのスコープ: server_name:var_name

    アプリケーションのスコープ: server_name:app_name:var_name

    キューブのスコープ: server_name:app_name:cube_name:var_name

    Essbase変数に対して、リポジトリで単一初期化ブロックも作成されます。Essbase変数の予期される更新サイクルを反映するように、初期化ブロックで適切なリフレッシュ間隔を設定します。

  • Essbase生成 - Essbase生成は、物理レベル・オブジェクトにマップされます。

  • 時系列関数 - Oracle Analyticsの時系列関数AGOTODATEおよびPERIODROLLINGがEssbaseに送信され、Essbaseサーバーのネイティブ機能が利用されます。

  • データベース関数 - データベースSQL関数のEVALUATEおよびEVALUATE_AGGREGATEを使用して、Essbaseデータ・ソース固有の関数を利用できます。

    EVALUATE_PREDICATEは、Essbaseデータ・ソースではサポートされていません。

  • 階層タイプ - Essbaseデータ・ソースの場合、すべての階層がデフォルトで「非バランス型」としてインポートされます。各物理階層の「階層タイプ」プロパティを確認して、必要に応じて値を変更します。

Oracle Essbaseデータソースへの接続について

このトピックでは、セマンティク・モデルで使用するOracle Essbaseデータ・ソースへの接続について説明します。

システム接続要件とは

「システム接続」チェック・ボックスが選択されているデータ・ソース接続は、セマンティック・モデルの開発に使用できます。デフォルトでは、これらの接続はセマンティク・モデルの「接続」タブに表示されます。

Oracle Analyticsホーム・ページの「接続」の作成オプションからEssbaseデータ・ソース接続を作成する場合は、「システム接続」チェック・ボックスを選択して、セマンティック・モデルの開発時に接続が使用可能になるようにします。接続を設定した後は、データ・ソースの「システム接続」オプションを編集できません。

「セマンティック・モデルのデータ・ソース接続について」を参照してください。

接続の作成方法

Essbaseデータ・ソースへの接続のトピックを使用してEssbase接続を作成し、「システム接続」チェック・ボックスを必ず選択します。

物理レイヤーへのEssbaseキューブ表の追加について

Essbaseキューブ表を物理データベースにドラッグ・アンド・ドロップすると、セマンティック・モデラーによって、インポートで表内のアイテムを処理する方法を指定するように求められます。

「物理レイヤーへのOracle EPM Cloudキューブ表の追加」を参照してください。

Essbaseキューブ表をインポートする前に、次の重要な点を理解してください:

  • キューブ表のインポート後は、インポート用に選択した設定を変更できません。
  • キューブ表の設定を調整する必要がある場合は、キューブ表を再インポートします。
  • 複数の表をインポートすると、選択したインポート・オプションがすべてのキューブ表に対して設定されます。キューブ表に異なるインポート設定が必要な場合は、個別にインポートします。

次のEssbaseキューブ表のインポート・オプションを選択できます。キューブ表のインポート後は、これらの設定を変更できないことに注意してください。

  • UDAの列の作成 - ユーザー定義属性をディメンション・プロパティとしてモデリングするのではなく、フラット化する場合に選択します。
  • フラット・メジャーへのメジャー・ディメンションの変換 - すべてのメジャーを表す単一のメジャー列ではなく、個々の列として各メジャーを含める場合に選択します。
  • 代替階層の単一階層への変換 - 代替階層を個別の階層としてモデリングするのではなく、単一の階層として含める場合に選択します。
  • 別名表の列の作成 - 別名ディメンション・プロパティをフラット化する場合に選択します。

物理レイヤーへのEssbaseキューブ表の追加

Oracle Essbase接続から、キューブ表をドラッグ・アンド・ドロップして、セマンティック・モデルの物理レイヤーに追加できます。

キューブまたはキューブ・セットごとに、物理レイヤーに1つの物理データベースを作成する必要があります。

データ・ソース接続から物理データベースにキューブ表をドラッグ・アンド・ドロップすると、データベースの機能、問合せ機能および接続プールの一部が移入されます。これらの設定は必要に応じて調整できます。アプリケーション・ロールの問合せ制限をデータベースに追加できます。

Essbaseの場合、キューブ表をカタログに配置する必要があります。Essbase接続から物理データベースにキューブ表をドラッグ・アンド・ドロップすると、セマンティック・モデラーによってカタログが追加されます。

「物理レイヤーへのEssbaseキューブ表の追加について」を参照してください。

「Oracle Essbaseデータ・ソースへの接続について」を参照してください。

  1. ホーム・ページで、「ナビゲータ」「セマンティック・モデル」の順にクリックします。
  2. 「セマンティック・モデル」ページで、セマンティック・モデルをクリックして開きます。
  3. 「物理レイヤー」「物理レイヤー」タブには、物理データを表すオブジェクトが含まれています。をクリックします。
  4. 「物理レイヤー」ペインで、「作成」作成アイコンデータベースの作成の順にクリックします。
  5. 「データベースの作成」で、「名前」フィールドに移動し、名前を入力します。「データベース・タイプ」フィールドで、「Oracle Essbase」を選択します。「OK」をクリックします。
    新しいデータベースの「表」タブが表示されます。
  6. 「表」タブで、「接続」接続アイコンをクリックし、接続ペインでOracle Essbase接続を展開して、物理データベースに追加するキューブ表を参照または検索します。
  7. キューブ表を物理データベースにドラッグし、「表」リストにドロップします。
  8. 「キューブ表オプション」ダイアログで、セマンティック・モデラーによる物理レイヤーへのキューブ表の追加方法を指定します。
    セマンティック・モデラーによって、カタログが作成され、それにキューブ表が追加されます。
  9. 「接続プール」タブをクリックし、データベースおよび接続プールの設定が正しいことを確認します。
  10. 「表」タブをクリックして、インポートされた物理列と階層レベルを検査および確認します。
  11. 「表」タブをクリックし、階層をダブルクリックして開き、「階層タイプ」フィールドに移動してタイプを調査および調整します。デフォルトでは、セマンティック・モデラーではすべての階層が「非バランス型」としてインポートされます。
  12. 「保存」をクリックします。

階層レベルでのキューブ列の追加または削除

キューブ表を物理レイヤーにドラッグ・アンド・ドロップすると、表のすべてのオブジェクトが含められます。インポートされた階層の関連する列を追加または削除できます。

ディメンション・プロパティ列のいずれかをディメンション階層レベルに追加することを選択できます。階層レベルの列を削除すると、セマンティック・モデラーによってそれがディメンション・プロパティの列に変換されます。

場合によっては、階層に追加する列を作成する必要があることがあります。列を作成すると、セマンティック・モデラーによってディメンション・プロパティ列として追加され、それを階層レベルに追加できます。

  1. ホーム・ページで、「ナビゲータ」「セマンティック・モデル」の順にクリックします。
  2. 「セマンティック・モデル」ページで、セマンティック・モデルをクリックして開きます。
  3. 「物理レイヤー」物理レイヤー・アイコンをクリックします。
  4. 物理キューブ表を参照し、ダブルクリックして開き、「ディメンションと階層」ペインから列を削除または追加する階層レベルを参照してダブルクリックします。
  5. 列を削除するには、「関連付けられた列」フィールドに移動し、削除する列の上にカーソルをあわせて、「関連付けられた列の除去」キーの削除ボタンをクリックします。
  6. 列を追加するには、「関連付けられた列の追加」作成アイコンをクリックして列を参照および追加します。
  7. 「保存」をクリックします。

階層レベルのキーの変更

関連付けられた列をEssbaseキューブ表の階層レベルに追加すると、セマンティック・モデラーでは、レベル・キーとして追加した最初の列がデフォルトで使用されます。レベルのキーとして使用する別の列を選択できます。

Essbaseキューブ表の場合、各階層レベルにはレベル・キーがあります。レベル・キーは、キューブのデータ・ソース定義と一致する必要があります。物理ペインで、最初に選択した列が階層のレベルに関連付けられると、その列のアイコンがキー・アイコンに変わります。

  1. ホーム・ページで、「ナビゲータ」「セマンティック・モデル」の順にクリックします。
  2. 「セマンティック・モデル」ページで、セマンティック・モデルをクリックして開きます。
  3. 「物理レイヤー」物理レイヤー・アイコンをクリックします。
  4. 物理キューブ表を参照し、ダブルクリックして開き、「ディメンションと階層」ペインから、変更するキーを含む階層レベルを参照してダブルクリックします。
  5. 「関連付けられた列」フィールドに移動し、キーとして設定する列が表示されていることを確認します。必要な列がない場合は、「関連付けられた列の追加」作成アイコンをクリックして、必要な列を追加します。
  6. レベルのプロパティ・ペインで、「キー」フィールドをクリックし、レベル・キーとして使用する列を選択します。
  7. 「保存」をクリックします。

Essbase別名表の操作について

Essbaseキューブでは、メンバーまたは共有メンバーの代替名である別名がサポートされます。ユーザーが自分の言語でメンバー名を表示できるように、メンバーにはユーザーの言語ごとに異なる別名があります。

たとえば、メンバー名が製品コード(100)で、製品名のデフォルトの別名(Cola)とそのほかに長い名前の別名(Cherry Cola)を持つ場合があります。

別名は、特定の別名セットをメンバー名にマップする別名表に格納されます。キューブごとにデフォルトの別名表が存在します。

キューブ表の列の表示方法の指定

Essbaseキューブ表の列の表示に使用する値を選択できます。

次のオプションから選択できます:
  • メンバー名 - Essbaseデータ・ソース・キューブ・メンバーの名前を使用します。
  • 別名 - 選択したEssbase別名表の名前を使用して、別名をキューブのメンバー名にマップします。
  • 変数 - 有効な表示列名を含む変数を使用します。

値は、メンバー名、デフォルトの別名またはその他の別名です。デフォルトで、列には、デフォルトの別名が表示されます。

  1. ホーム・ページで、「ナビゲータ」「セマンティック・モデル」の順にクリックします。
  2. 「セマンティック・モデル」ページで、セマンティック・モデルをクリックして開きます。
  3. 「物理レイヤー」物理レイヤー・アイコンをクリックします。
  4. 「物理レイヤー」ペインで、列の表示方法を指定するキューブ表を参照してダブルクリックします。
  5. 「一般」タブをクリックし、「表示列」で表の列の表示方法を指定します。「別名」を選択した場合は、フィールドをクリックして別名表を選択します。「変数」を選択した場合は、「選択」をクリックし、リストから変数を選択します。
  6. 「保存」をクリックします。

未修飾のメンバー名を使用したパフォーマンスの向上

メンバー名(別名を含む)が特定の階層で一意である場合、Oracle Analytics問合せエンジンは、特定の多次元式(MDX)構文を利用して、パフォーマンスを最適化できます。

キューブ表をインポートしたら、特定の階層でメンバー名が一意であることを確認する必要があります。この設定を確認することが重要です。階層のメンバーが一意でないのに一意であると指定されると、問合せエラーが発生する可能性があるためです。
この問題は、Essbaseアウトラインまたはセマンティック・モデラーの物理階層プロパティで修正できます。
Essbaseアウトラインでこの問題を修正するには、アウトラインに移動し、問題の原因となっているメンバーの名前に接頭辞または接尾辞を追加してメンバー名を一意にすることによって、問題となっている各メンバー変数を更新し、SQL問合せを更新し、データとメンバーをEssbaseアウトラインに再ロードします。
物理階層でこの問題を解決するには:
  1. ホーム・ページで、「ナビゲータ」「セマンティック・モデル」の順にクリックします。
  2. 「セマンティック・モデル」ページで、セマンティック・モデルをクリックして開きます。
  3. 「物理レイヤー」物理レイヤー・アイコンをクリックします。
  4. 物理キューブ表を参照し、ダブルクリックして開き、「ディメンションと階層」ペインから、プロパティを設定する階層レベルを参照してダブルクリックします。
  5. 「パフォーマンス向上のために未修飾のメンバー名を使用」フィールドをクリックして選択します。
  6. 「保存」をクリックします。