Essbaseデータ・ソースの操作
Oracle BIリポジトリの物理レイヤーで、デフォルトでEssbaseデータがモデリングされる方法について学習します。また、他の方法でEssbaseデータをモデリングするために実行できるタスクについても説明します。
このセクションには次のトピックが含まれます:
Essbaseデータ・ソースの使用について
Essbaseデータ・ソースからメタデータをインポートすると、Oracle BIの論理モデルをサポートする方法で、キューブ・メタデータが物理レイヤーにマップされます。
別名など、ディメンションのすべてのメンバーに適用されるメタデータは、デフォルトでディメンションのプロパティとしてモデリングされます。アウトライン・ソートやMemnor情報などのレベルベースのプロパティは、ディメンションの個別の物理キューブ列としてマップされます。
次の物理列タイプはEssbaseメタデータに使用されます。
-
メンバーの別名: 「別名」列であることを示します。
-
UDA: 列がユーザー定義属性(UDA)であることを示します。
-
アウトライン・ソート: memnorタイプの列を示し、論理レイヤーのアウトライン・ソートに使用されます。各ディメンションの最低レベルでインポートされます。
-
属性: 列が属性タイプであることを示します。属性ディメンションに使用されます。
-
その他: リストされているもの以外のタイプまたは不明なタイプです。
-
祖先参照: ディメンションの祖先を参照します。
-
メンバー・キー: 列がメンバー・キーであることを示します。
-
リーフ: 列が階層の最低メンバーであることを示します。
-
ルート: 列が階層のルート・メンバーであることを示します。
-
親参照: ディメンションの親を参照します。
「アウトライン・ソート」、「祖先参照」、「メンバー・キー」、「リーフ」、「ルート」および「親参照」の各列タイプは、システムで内部で使用され、変更することはできません。
この図は、物理レイヤーにインポートされたEssbaseデータを示しています。
物理レイヤーには、特定のタイプのメタデータをモデリングする方法を制御できるように様々なオプションが用意されています。ユーザー・ベースの要件に最適なオプションを選択します。たとえば、多くのタイプのEssbaseメタデータが、物理レイヤーではデフォルトでディメンション・プロパティとしてモデリングされます。
以前のリリースのOracle BIでサポートされている属性スタイルのレポート作成機能を使いやすくするために、物理レイヤーでEssbaseメタデータをフラット化することも選択できます。
次のリストは、これらのモデリング・オプションのいくつかを要約しています。
-
別名。別名は、デフォルトでディメンション・プロパティとしてモデリングされますが、「別名表の列の作成」機能を使用して別名をフラット化することもできます。Essbase別名表の操作を参照してください。
-
UDA。UDAは、デフォルトでディメンション・プロパティとしてモデリングされますが、「UDAの列の作成」機能を使用してUDAをフラット化することもできます。ユーザー定義属性のモデリングを参照してください。
-
代替階層。代替階層は、デフォルトで個別階層としてモデリングされますが、「単一階層のビューに変換」機能を使用して単一階層として代替階層を表示することもできます。代替階層のモデリングを参照してください。
- メジャー階層。デフォルトで、メジャーはすべてのメジャーを表す単一メジャー列としてインポートされますが、「メジャー・ディメンションをフラット・メジャーに変換します」機能を使用して各メジャーを個々の列として表示することもできます。DataDirectを使用するためのOracle Analytics Serverの構成を参照してください。
Essbaseデータ・ソースは次のものを含むOracle BIリポジトリと併用します。
-
置換変数。Essbase置換変数は自動的に取得されて、対応するOracle BIサーバーのリポジトリ変数に移入されます。Essbase変数のスコープに応じて、Oracle BIサーバー変数のネーミング規則が次のようになります。
サーバー・インスタンスのスコープ:
server_name:var_name
アプリケーションのスコープ:
server_name:app_name:var_name
キューブのスコープ:
server_name:app_name:cube_name:var_name
Essbase変数に対して、リポジトリで単一初期化ブロックも作成されます。Essbase変数の予期される更新サイクルを反映するように、初期化ブロックで適切なリフレッシュ間隔を設定します。
-
Essbase生成。Essbase生成は、物理レベル・オブジェクトにマップされます。
-
時系列関数。Oracle BIサーバーの時系列関数
AGO
、TODATE
およびPERIODROLLING
がEssbaseに送信され、Essbaseサーバーのネイティブ機能が利用されます。 -
データベース関数。データベースSQLファンクションの
EVALUATE
およびEVALUATE_AGGREGATE
を使用して、Essbaseデータ・ソース固有のファンクションを利用できます。EVALUATE_PREDICATE
は、Essbaseデータ・ソースとの併用はサポートされません。 -
Gen1レベル。デフォルトで、Gen1レベルは、物理レイヤーからビジネス・モデルとマッピング・レイヤーにEssbaseキューブまたはディメンションをドラッグ・アンド・ドロップするときに追加されます。ただし、通常、Gen1レベルは分析に必要ないため、ビジネス・モデルにEssbaseオブジェクトをドラッグ・アンド・ドロップするときにGen1レベルの除外を選択できます。これを実行するには、「オプション」ダイアログの「一般」タブで「Essbaseのドラッグ・アンド・ドロップ・アクションでGen1レベルをスキップ」を選択します。管理ツールのオプションの設定を参照してください。
-
階層タイプ。Essbaseデータ・ソースの場合、デフォルトですべての階層が「非バランス型」としてインポートされます。各物理階層の「階層タイプ」プロパティを確認して、必要に応じて値を変更します。Essbaseでサポートされる階層タイプは、「非バランス型」、「完全なバランス型」および「値」です。
増分インポートについて
初期インポートの実行後に再インポートを実行して、Essbaseメタデータを増分インポートできます。
データ・ソースの情報が変更された場合や最初のインポートにメタデータのサブセットのみが含まれていた場合に、増分インポートが必要になる可能性があります。
-
物理レイヤーにすでに存在するメタデータを再インポートする場合は、インポート操作で物理オブジェクトが上書きされることを警告するメッセージが表示されます。
-
ソース内のデータを削除した場合に、メタデータによって物理レイヤーの同じデータが自動的に削除されることはありません。対応する物理オブジェクトを手動で削除する必要があります。
-
ソース内のオブジェクトの名前を変更した場合、名前が変更されたオブジェクトは新規オブジェクトとしてインポートされます。前のオブジェクトと新規オブジェクト(名前変更されたオブジェクト)が両方とも物理レイヤーに表示されます。
-
表示用に使用する別名列を作成するなど、物理レイヤーのデータに実行したカスタマイズは、増分インポートの後にも維持されます。インポートしたビューをデフォルトに戻すには、既存の物理レイヤー・オブジェクトを削除してから、メタデータを再インポートする必要があります。
Essbase別名表の操作
Essbaseキューブでは、メンバーまたは共有メンバーの代替名である別名がサポートされます。ユーザーが自分の言語でメンバー名を表示できるように、メンバーにはユーザーの言語ごとに異なる別名があります。
たとえば、メンバー名が製品コード(100)で、製品名のデフォルトの別名(Cola)とそのほかに長い名前の別名(Cherry Cola)を持つ場合があります。
別名は、特定の別名セットをメンバー名にマップする別名表に格納されます。キューブごとにデフォルトの別名表が存在します。
このセクションには次のトピックが含まれます:
表示に使用する値の指定
EssbaseからOracle BIリポジトリにメタデータをインポートする場合、物理レイヤーのEssbaseキューブ表オブジェクトには、メンバーについて表示する値を指定するプロパティが含まれます。
値は、メンバー名、デフォルトの別名またはその他の別名です。デフォルトで、列には、デフォルトの別名が表示されます。
- 管理ツールの物理レイヤーで、Essbaseキューブ表をダブルクリックします。
- 「キューブ表」ダイアログの「一般」タブで、choose the appropriate value for 「表示列」に適切な値を選択します。次のいずれかを選択します。
- メンバー名。
- 別名。リストから別名表名を選択します。
- 変数。有効な表示列名が含まれる変数を選択します。
- 「OK」をクリックします。
別名ごとの列の明示的定義
別名は、インポート後に物理レイヤーでディメンション・プロパティとしてモデリングされます。
レポート作成を目的として属性をフラット化したり、翻訳用に文字列を外部化したりなど、複数の別名を使用して作業する場合は、別名ごとに列を明示的に定義することができます。キューブ、ディメンションまたは階層レベルで別名列を定義できます。
- 管理ツールの物理レイヤーで、別名列を定義するキューブ表、物理ディメンションまたは物理階層を右クリックします。
- 「別名表の列の作成」を選択します。サブリストから、列を作成する別名表を選択します。
- 「作成」をクリックします。
- 新規別名列をビジネス・モデルとマッピング・レイヤーの適切な場所にドラッグします。
別名列に基づいて翻訳用に文字列を外部化するには、Oracle Analytics Serverの管理のOracle Analytics Serverのローカライズを参照してください。
ユーザー定義属性のモデリング
Essbaseでは、ユーザー定義属性(UDA)の概念がサポートされます。UDAは任意のテキスト文字列で、次元メンバーに関連付けることができます。
1つのメンバーに複数の文字列を関連付けることができます。
メタデータのインポートウィザードで、UDAをインポートするかどうかを選択できます。UDAをインポートすることを選択した場合、リポジトリの物理レイヤーで、デフォルトで各UDAがディメンション・プロパティとしてモデリングされます。
各UDAを個別の物理列としてモデリングすることも選択できます。これを実行するには、次のいずれかのタスクを実行します。
- すべてのUDAをモデリングするには、次のいずれかを行います。
- キューブ表を右クリックして「UDAの列の作成」を選択します。キューブ内のすべてのUDAが個別の物理列としてモデリングされます。
- ディメンション・オブジェクトを右クリックして、「UDAの列の作成」を選択し、次に「すべてのUDA」を選択します。ディメンション内のすべてのUDAが個別の物理列としてモデリングされます。
- ディメンション・オブジェクトを右クリックして、「UDAの列の作成」を選択し、次にモデリングする特定のUDAの順に選択します。選択したUDAがモデルごとに個別の物理列としてモデリングされます。
ディメンションおよびレベルへのメンバー属性の関連付け
インポート・プロセスで、メンバー属性が、対応するディメンションとレベルに自動的に関連付けられるわけではありません。
- Oracle BI管理ツールを開いて、「物理」レイヤーの属性ディメンションから列をドラッグして、「ビジネス・モデルとマッピング」レイヤーの該当する論理表にドロップします。
代替階層のモデリング
代替階層は、物理レイヤーで個別の階層としてモデリングされます。
これらを個別の階層として表示することも(複数階層のビュー)、単一階層として表示することもできます。
代替階層を単一階層として表示するには、代替階層が含まれるディメンション・オブジェクトを右クリックして、「単一階層のビューに変換」を選択します。複数階層のビューに戻すには、ディメンション・オブジェクトを再度右クリックして、「複数階層のビューに変換」を選択します。
たとえば、この図は、代替階層の複数階層のビューを示しています。
メジャー階層のモデリング
メジャーはメジャー階層としてインポートされます。キューブには、すべてのメジャーを表す単一のメジャー列が含まれます。
メジャー階層をフラット化して、各メジャーを個々の列として表示できます。
- 管理ツールで、キューブ・オブジェクトを右クリックし、「メジャー・ディメンションをフラット・メジャーに変換します」を選択して、個々の列を表示します。
未修飾メンバー名の使用によるパフォーマンスの向上
メンバー名(別名も含む)が指定した階層で一意である場合、Oracle BIサーバーでは、特定のMDX構文を利用して、パフォーマンスを最適化できます。
インポート・プロセスでは指定の階層に対してメンバー名が一意であることを確認できません。メンバー名が一意かどうかを確認する必要があります。階層のメンバーが一意でないのに一意であると指定されると、問合せエラーが発生します。
- 以下のいずれか1つを実行します。
- Essbaseアウトラインから、問題の原因となっているメンバーの名前に接頭辞または接尾辞を追加してメンバー名を一意にすることによって、問題となっている各メンバー変数を更新し、SQL問合せを更新し、データとメンバーをEssbaseアウトラインに再ロードします。
- この機能を有効にするには、「階層」ダイアログで「パフォーマンスを上げるために未修飾のメンバー名を使用」を選択します。