Oracle® Fusion Middleware Oracle Business Intelligence Enterprise Editionメタデータ・リポジトリ作成者ガイド 11g リリース1 (11.1.1) B63028-04 |
|
![]() 前 |
![]() 次 |
この章では、Oracle BI管理ツールを使用してOracle BIリポジトリのプレゼンテーション・レイヤーでオブジェクトを作成、編集および維持する方法について説明します。
この章には次のトピックが含まれます:
プレゼンテーション・レイヤーは、カスタマイズしたセキュアでロールベースのビューでユーザーがビジネス・モデルを表示できるようにします。ロールベースのビューは、オブジェクトのセキュリティを実現するほか、ビジネス・モデルの複雑さを部分的に隠す方法も提供します。また、潜在ファクト列の機能など、メタデータ・モデルの機能をプレゼンテーション・レイヤーで利用することもできます。
プレゼンテーション・レイヤーのビューをサブジェクト・エリアといいます(以前はプレゼンテーション・カタログと呼ばれていました)。ビジネス・モデルと同じ内容のサブジェクト・エリアとすることができるほか、より小型でロール・ベースのサブジェクト・エリアとして、1つのサブジェクトのみの表示や特定のビジネス・ロールのみのサポートを可能にすることもできます。ユーザーにとって意味のある方法でコンテンツを表示するサブジェクト・エリアを作成するようにします。
プレゼンテーション・レイヤーでは、Oracle BIサーバーをODBCデータ・ソースとして使用するクライアント・ツールに対するカタログとしてサブジェクト・エリアが表示されます。サブジェクト・エリアには、プレゼンテーション表、プレゼンテーション列、プレゼンテーション階層およびプレゼンテーション・レベルが表示されています。
アンサーなどのクライアントからの論理SQLリクエストがプレゼンテーション表とプレゼンテーション列を問い合せていても、エンティティ、リレーションシップ、結合などの実際の論理はビジネス・モデルとマッピング・レイヤーにあります。プレゼンテーション・レイヤーの主要機能は、ユーザーの様々なグループにカスタム名、ディクショナリ・エントリ、編成およびセキュリティを提供することです。
ビジネス・モデルとマッピング・レイヤーを作成済であれば、管理ツールでビジネス・モデル全体をプレゼンテーション・レイヤーにドラッグ・アンド・ドロップして、サブジェクト・エリアを作成できます。また、サブジェクト・エリアと他のプレゼンテーション・レイヤー・オブジェクトを手動で作成することもできます。
この項には次のトピックが含まれます:
プレゼンテーション・レイヤーではいくつかの方法でサブジェクト・エリアを作成できます。推奨の方法は、ビジネス・モデルとマッピング・レイヤーからプレゼンテーション・レイヤーにビジネス・モデルをドラッグ・アンド・ドロップし、ユーザーに表示する内容に基づいてプレゼンテーション・レイヤーを変更することです。プレゼンテーション表どうしでの列の移動やユーザーに表示する必要のない列の削除が可能なほか、1つのプレゼンテーション表にすべてのデータを表示することもできます。メジャーの編成と分類がユーザーにとって意味のあるものになるようにプレゼンテーション表を作成できます。
既存のサブジェクト・エリアとそれに対応するビジネス・モデルを複製することもできます。詳細は、「ビジネス・モデルとサブジェクト・エリアの複製」を参照してください。
各サブジェクト・エリアには1つのビジネス・モデルのコンテンツのみを表示できますが、1つのビジネス・モデルには複数のサブジェクト・エリアを作成できます。大規模なビジネス・モデルでは、ユーザーがコンテンツを効率的に利用できるようにするためにこの処置が必要になります。Oracle BIアンサーのユーザーは、対応するビジネス・モデルが同じである複数のサブジェクト・エリアにわたる問合せを作成できます。
1つのビジネス・モデルから複数のサブジェクト・エリアを作成する方法は数多くあります。その1つとして、目的のビジネス・モデルをプレゼンテーション・レイヤーに複数回ドラッグし、得られた各サブジェクト・エリアのプロパティやオブジェクトを必要に応じて編集する方法があります。
たとえば、Geography
およびProducts
ディメンションを含むABC
というビジネス・モデルがある場合、それをプレゼンテーション・レイヤーに2回ドラッグできます。デフォルト名ABC
およびABC#1
を持つ2つのサブジェクト・エリアが作成されます。その後、そのサブジェクト・エリアを次のように編集できます。
ABC
サブジェクト・エリアの名前をDEF
に変更し、Geography
プレゼンテーション階層を削除します。
ABC#1
サブジェクト・エリアの名前をXYZ
に変更し、Products
プレゼンテーション階層を削除します。
これで、Oracle BIアンサーのユーザーは、Products
階層を持つDEF
サブジェクト・エリアと、Geography
階層を持つXYZ
サブジェクト・エリアの両方にわたる問合せを実行できるようになります。
注意: 通常、1つのサブジェクト・エリアを問い合せる際、そのサブジェクト・エリアで公開されるすべての列は、同じサブジェクト・エリアで公開されるすべてのディメンションと互換性があります。ただし、複数のサブジェクト・エリアの列とディメンションを結合する場合は、互いに互換性のない列とディメンションの組合せが含まれないようにする必要があります。 たとえば、あるサブジェクト・エリアの列は、プロジェクトによって次元化されない可能性があります。別のサブジェクト・エリアのプロジェクト・ディメンションの列が、プロジェクト別に次元化されていない列とともにリクエストに追加された場合、問合せが結果を返すのに失敗するか、Oracle BIサーバーのエラー「リクエストされた詳細レベルXXXXにはファクト表が存在しません。」が発生する可能性があります。 |
ビジネス・モデルにある論理スターごとまたは論理スノーフレークごとに自動的にサブジェクト・エリアを1つ作成できます。論理スターも論理スノーフレークも、複数のディメンション表に接続して集中管理されるファクト表で構成されています。この機能を利用することでも、1つのビジネス・モデルから複数のサブジェクト・エリアを作成できます。
論理スターまたは論理スノーフレークを構成するファクト表ごとにサブジェクト・エリアを作成するには、ビジネス・モデルを右クリックして「Logical StarsとSnowflakes向けのサブジェクト・エリアの作成」を選択します。新しいサブジェクト・エリアが自動的に作成され、それぞれにはファクト表とそれが関連付けられているディメンション表のみが納められています。このオプションは、論理スターまたは論理スノーフレークを持つあらゆるビジネス・モデルで利用できます。
たとえば、9つのファクト表を持つSampleAppビジネス・モデルでこのオプションを選択すると、各ファクト表に対応するサブジェクト・エリアが9つ作成され、それぞれに1つのファクト表とそれに関連付けられたディメンション表が納められています。サブジェクト・エリアは参照表についても作成されます。図12-1は、論理的なファクト表とディメンション表がプレゼンテーション・レイヤーでモデル化されている様子を示しています。
図12-1 SampleAppの論理スターと論理スノーフレークについてのサブジェクト・エリアの作成
カスタム・プレゼンテーション・レイヤーを使用する重要な理由として、スキーマの使用と理解をできるかぎり容易にすることがあります。したがって、ユーザーにとって意味のない列は表示できないようにします。プレゼンテーション・レイヤーから除外することが必要な列として、たとえば次のようなものがあります。
ビジネス上の意味がないキー列
ユーザーが見る必要のない列(テキストによる説明が表示される場合のコードなど)
ユーザーには表示する権限がない列
デフォルトでは、プレゼンテーション列の名前は、ビジネス・モデルとマッピング・レイヤーの中でそれが対応する論理列の名前と同じになっています。効率的なメンテナンスを目指す意味で、プレゼンテーション列の名前とそのソースである論理列の名前は同期した状態に維持することをお薦めします。これを実現するには、「プレゼンテーション列」ダイアログで「論理列名の使用」を選択しておきます。
場合によっては、これとは異なるプレゼンテーション列名をユーザーに表示する必要性があることも考えられます。その場合は、「プレゼンテーション列」ダイアログでプレゼンテーション列の名前を変更します。
プレゼンテーション列の名前を変更すると、変更前の名前について自動的に別名が作成されるので、古い名前との互換性を維持できます。別名の詳細は、「プレゼンテーション・レイヤー・オブジェクトの別名(シノニム)の作成」を参照してください。
プレゼンテーション・レイヤー・オブジェクトの名前を、同じタイプのオブジェクトに別名としてすでに使用されているものに変更することはできません。
プレゼンテーション・レイヤーのサブジェクト・エリアごとに、そのサブジェクト・エリアにアクセスするツールに、任意の論理キーをキー列としてエクスポートするかどうかを指定できます。Oracle BIプレゼンテーション・サービスのユーザーにとって論理キーのエクスポートは無関係ですが、問合せやレポート作成のツールの中にはこれによって利点が得られるものがあります。論理キーをエクスポートする場合は、表のフォルダに論理列が存在することを確認します。そのような場合は、ビジネス・モデル側で論理キーと外部キーの結合を使用する必要があります。
「サブジェクト・エリア」ダイアログで「論理キーのエクスポート」オプションを選択すると、プレゼンテーション・レイヤーの中でビジネス・モデルとマッピング・レイヤーのキー列となっているすべての列が、ODBCクライアントに対するキー列として表示されます。このオプションはデフォルトで選択された状態になっています。ほとんどの場合はこのオプションを選択しておく必要があります。
注意: Microsoft Accessのようにパラメータ化SQL問合せを発行するツールを使用している場合は「論理キーのエクスポート」オプションは選択しないでください。パラメータ化問合せを発行できなくなります。 |
プレゼンテーション・レイヤーのサブジェクト・エリアごとに1つの潜在ファクト列を設定できます。潜在ファクト列は、2つ以上のディメンション表の列を含みメジャーを含まない場合、問合せに追加されます。この列は、結果には表示されません。これは、使用可能な代替またはコンテキストが複数存在する場合にディメンション表間のデフォルトの結合パスを指定するために使用されます。
ビジネス・モデルとマッピング・レイヤーとプレゼンテーション・レイヤーとの間ですべての変更を自動的に同期化する手段は存在しません。たとえば、既存の論理表に論理列を追加した場合や既存の列を編集した場合は、対応するプレゼンテーション・レイヤー・オブジェクトを手動で更新する必要があります。
一方、管理ツールでは、プレゼンテーション列名を、それに対応する論理列名に自動的に同期化できます。この機能を活用するには、「プレゼンテーション列」ダイアログで「論理列名の使用」を選択していることを確認します。
論理表に多量の変更が発生している場合やビジネス・モデル全体にも変更がある場合は、対応するプレゼンテーション表またはサブジェクト・エリアを削除し、更新した論理オブジェクトをプレゼンテーション・レイヤーにドラッグ・アンド・ドロップする方法が最も簡単です。この理由から、ビジネス・モデルとマッピング・レイヤーがある程度安定するまで待ったうえで、プレゼンテーション・レイヤーをカスタマイズすることをお薦めします。
プレゼンテーション・レイヤーでは、サブジェクト・エリアによって、ビジネス・モデルの様々なビューを様々なセットのユーザーに表示できます。サブジェクト・エリアには、1つのビジネス・モデルからのコンテンツを移入する必要があります。複数のビジネス・モデルにわたることはできません。
多くの場合、論理レイヤーからビジネス・モデルをドラッグ・アンド・ドロップすることで、サブジェクト・エリアを自動的に作成できます。
プレゼンテーション・レイヤーでサブジェクト・エリアをダブルクリックします。「サブジェクト・エリア」ダイアログが表示されます。
「一般」タブでサブジェクト・エリアの名前を変更できます。プレゼンテーション・オブジェクトの名前を変更すると自動的に別名が作成されるので、元の名前を使用した問合せも問題なく実行できます。
また、サブジェクト・エリアの名前をその子プレゼンテーション表と同じものにすることはできません。たとえば、Customerという表を持つサブジェクト・エリアにCustomerという名前を付けることはできません。
このサブジェクト・エリアに権限を設定するには、「権限」をクリックします。詳細は、「プレゼンテーション・レイヤー・オブジェクトに対する権限の設定」を参照してください。
「カスタム表示名」または「カスタム説明」を選択し、通常はローカライゼーションのために、セッション変数に基づいて、カスタム名またはカスタム説明を動的に表示します。ローカライゼーションの詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionシステム管理者ガイド』のOracle Business Intelligenceのローカライゼーションに関する項を参照してください。
「ビジネス・モデル」リストには、このサブジェクト・エリアのビジネス・モデルが表示されます。
他のアプリケーションに論理キーを公開するには、「論理キーのエクスポート」を選択します。
ほとんどの状況でこのオプションを選択する必要があります。多くのクライアント・ツールではキー列とそれ以外の列を区別するので、「論理キーのエクスポート」オプションを選択することで、クライアント・ツールからキー列のメタデータにアクセスできます。ただし、Oracle BIサーバーではリポジトリで定義された結合を使用するので、クライアント・ツールで問合せに追加した結合条件はすべて無視されます。
オプションで、「潜在ファクト列」を設定できます。この列は、2つ以上のディメンション表の列を含みメジャーを含まない場合、問合せに追加されます。この列は、結果には表示されません。これは、使用可能な代替またはコンテキストが複数存在する場合にディメンション表間のデフォルトの結合パスを指定するために使用されます。
オプションで、「オブジェクト非表示の条件」フィールドにこのサブジェクト・エリアをアンサーおよびBIコンポーザで表示するかどうかを制御する式を指定できます。オブジェクトを表示するには、このフィールドを空白のまま(デフォルト)にします。詳細は、「プレゼンテーション・オブジェクトの表示の制御」を参照してください。
必要に応じて説明を入力します。この説明は、Oracle BIアンサーでサブジェクト・エリアのマウスオーバー・ツールチップに表示されます。
「プレゼンテーション表」タブで、このサブジェクト・エリアのプレゼンテーション表について、追加、削除、編集または並替えが可能です。
このサブジェクト・エリアの別名を指定または削除するには「別名」タブを使用します。別名の詳細は、「プレゼンテーション・レイヤー・オブジェクトの別名(シノニム)の作成」を参照してください。
「OK」をクリックします。
Oracle BIアンサーでは、プレゼンテーション表とプレゼンテーション列がそれぞれフォルダと列として表示されます。ユーザーがそれぞれのビジネス・ニーズに基づいて問合せを作成できるように、プレゼンテーション表とプレゼンテーション列をカスタマイズできます。
この項には次のトピックが含まれます:
プレゼンテーション表を使用して、ユーザー・コミュニティにとって意味のあるカテゴリに列を分類できます。プレゼンテーション表には、1つ以上の論理表にある列を納めることができます。プレゼンテーション表の名前とオブジェクト・プロパティは、これらの論理表のプロパティとは無関係です。
多くの場合、論理レイヤーから論理表をドラッグ・アンド・ドロップすることでプレゼンテーション表を自動的に作成できます。
プレゼンテーション表のプロパティを編集するには
プレゼンテーション・レイヤーでプレゼンテーション表をダブルクリックします。「プレゼンテーション表」ダイアログが表示されます。
「一般」タブで、プレゼンテーション表の名前を変更できます。プレゼンテーション・オブジェクトの名前を変更すると自動的に別名が作成されるので、元の名前を使用した問合せも問題なく実行できます。
また、プレゼンテーション表には、その親サブジェクト・エリアと同じ名前を付けることはできません。たとえば、Customerという名前のサブジェクト・エリアにCustomerという名前の表は作成できません。
このプレゼンテーション表に権限を設定するには、「許可」をクリックします。詳細は、「プレゼンテーション・レイヤー・オブジェクトに対する権限の設定」を参照してください。
「カスタム表示名」または「カスタム説明」を選択し、通常はローカライゼーションのために、セッション変数に基づいて、カスタム名またはカスタム説明を動的に表示します。ローカライゼーションの詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionシステム管理者ガイド』のOracle Business Intelligenceのローカライゼーションに関する項を参照してください。
オプションで、「オブジェクト非表示の条件」フィールドにこのプレゼンテーション表をアンサーおよびBIコンポーザで表示するかどうかを制御する式を指定できます。オブジェクトを表示するには、このフィールドを空白のまま(デフォルト)にします。詳細は、「プレゼンテーション・オブジェクトの表示の制御」を参照してください。
「列」タブで、このプレゼンテーション表のプレゼンテーション列の追加、削除、編集または並替えができます。
階層タブで、このプレゼンテーション表のプレゼンテーション階層の追加、削除、編集または並替えができます。
「別名」タブで、このプレゼンテーション表の別名を指定または削除できます。別名の詳細は、「プレゼンテーション・レイヤー・オブジェクトの別名(シノニム)の作成」を参照してください。
「子プレゼンテーション表」タブを使用して、アンサーおよびBIコンポーザでネストされたフォルダとして表示するプレゼンテーション表を指定します。詳細は、「アンサーおよびBIコンポーザでのフォルダのネスト」を参照してください。
「OK」をクリックします。
サブジェクト・エリアで表の並替えまたはすべての表のソートを実行するには
プレゼンテーション・レイヤーでサブジェクト・エリアをダブルクリックします。
「サブジェクト・エリア」ダイアログでI「プレゼンテーション表」タブをクリックします。
表を移動するには、並べ替える表を「名前」リストから選択します。その表をドラッグ・アンド・ドロップしてその位置を変更するか、「上へ」ボタンと「下へ」ボタンをクリックします。
すべての表をアルファベット順にソートするには、「名前」列ヘッダーをクリックします。クリックするたびに、ソート順がアルファベットの昇順と降順で交互に切り替わります。
デフォルトでは、プレゼンテーション列の名前は、ビジネス・モデルとマッピング・レイヤーの論理列名と同じです。「プレゼンテーション列」ダイアログで「論理列名の使用」オプションと「カスタム表示名」オプションの両方を選択解除すると、論理列名とは異なる名前を表示できます。
ユーザーにとって使いやすい編成とするために、ビジネス・モデルとマッピング・レイヤーにある1つの論理表の列を複数のプレゼンテーション表にドラッグ・アンド・ドロップできます。これにより、ユーザーにとって意味のあるカテゴリを作成できます。たとえば、ボリューム・メジャーを含むクラス、シェア・メジャーを含むクラス、1年前のメジャーを含むクラスなど、様々なメジャーのクラスを持つ複数のプレゼンテーション表を作成できます。
注意: プレゼンテーション表に列をドラッグするときは、それと同じ名前の列や同じ名前の別名がプレゼンテーション表に存在しないことを確認します。 |
多くの場合、論理レイヤーから論理列をドラッグ・アンド・ドロップすることでプレゼンテーション列を自動的に作成できます。
プレゼンテーション列のプロパティを編集するには
プレゼンテーション・レイヤーでプレゼンテーション列をダブルクリックして「プレゼンテーション列」ダイアログを表示します。
「一般」タブで、論理列名とは異なる名前を指定するために「論理列名の使用」を選択解除し、列の名前を入力します。プレゼンテーション・オブジェクトの名前を変更すると自動的に別名が作成されるので、元の名前を使用した問合せも問題なく実行できます。
このプレゼンテーション列に権限を設定するには、「権限」をクリックします。詳細は、「プレゼンテーション・レイヤー・オブジェクトに対する権限の設定」を参照してください。
「カスタム表示名」または「カスタム説明」を選択し、通常はローカライゼーションのために、セッション変数に基づいて、カスタム名またはカスタム説明を動的に表示します。ローカライゼーションの詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionシステム管理者ガイド』のOracle Business Intelligenceのローカライゼーションに関する項を参照してください。
注意: 「カスタム表示名」フィールドと「カスタム説明」フィールドを使用して、ADFデータ・ソースからUIヒント(ラベルとツールチップ)をOracle BIアンサーに伝播して表示することもできます。ADFデータ・ソースのUIヒントを設定する方法の詳細は、「ADFデータ・ソースからのラベルおよびツールチップの伝播」を参照してください。 |
「論理列」フィールドには、このプレゼンテーション列の論理列の名前が表示されます。論理列オブジェクトを変更するには「編集」をクリックします。
オプションで、「オブジェクト非表示の条件」フィールドにこのプレゼンテーション列をアンサーおよびBIコンポーザで表示するかどうかを制御する式を指定できます。オブジェクトを表示するには、このフィールドを空白のまま(デフォルト)にします。詳細は、「プレゼンテーション・オブジェクトの表示の制御」を参照してください。
このプレゼンテーション列の別名を指定または削除するには「別名」タブを使用します。別名の詳細は、「プレゼンテーション・レイヤー・オブジェクトの別名(シノニム)の作成」を参照してください。
プレゼンテーション・レイヤーでプレゼンテーション表を右クリックして「プロパティ」を選択します。
「列」タブをクリックします。
並べ替える列を選択します。
その列をドラッグ・アンド・ドロップして位置を変更するか、「上へ」ボタンと 「下へ」ボタンをクリックします。
「OK」をクリックします。
「プレゼンテーション表」ダイアログの「子プレゼンテーション表」タブを使用して、子プレゼンテーション表を指定できます。アンサーおよびBIコンポーザでネストされたフォルダを表示する子プレゼンテーション表を指定します。この方法を使用してネストの複数のレイヤーを追加できます。
図12-2に、指定の子プレゼンテーション表がアンサーでどのようにネストされて表示されるかを示します。
フォルダはネストされているように表示されるだけであることに注意してください。これらのフォルダは、ドリルダウンの観点からは、実際にはネストされておらず、オブジェクトの修飾名は同じままです。さらに、管理ツールのプレゼンテーション・レイヤーでは、ネストは表示されません。ネストは、アンサーおよびBIコンポーザにのみ表示されます。この機能は、プレゼンテーション表でのみ機能し、他のプレゼンテーション・レイヤー・オブジェクトでは機能しません。
整合性チェックを実行すると、整合性チェック・マネージャにより、親子プレゼンテーション表の割当てにおける循環が検出されます。また、親プレゼンテーション表を持たない子プレゼンテーション表を含むプロジェクト定義を検出して報告します。
以前のリリースでは、リポジトリ開発者は、プレゼンテーション表名の先頭にハイフンを追加することで、またはプレゼンテーション表の説明の先頭に矢印(->)を追加することで1レベルのネストを作成することが可能でした。この方法は、このリリースでは非推奨となっており、今後のリリースでは削除される予定です。
以前に、プレゼンテーション表名の先頭にハイフンを付けるか、プレゼンテーション表の説明の先頭に矢印を付けてネストを作成した場合は、プレゼンテーション・フォルダの変換・ユーティリティを実行して、メタデータを新しい構造に変換することをお薦めします。詳細は、「プレゼンテーション・フォルダの変換・ユーティリティの使用方法」を参照してください。
プレゼンテーション階層とプレゼンテーション・レベルは、Oracle BIアンサーでマルチディメンション・モデルを公開するための明示的な方法を提供します。プレゼンテーション・レイヤーでプレゼンテーション階層とプレゼンテーション・レベルを定義しておくと、Oracle BIアンサーのナビゲーション・ペインにロールアップ情報が表示されるので、ユーザーは重要なコンテキスト情報を得ることができます。
プレゼンテーション階層のメンバーは、プレゼンテーション・レイヤーには表示されません。かわりに、アンサーで階層のメンバーを表示できます。
最も重要なことは、ユーザーがこれらのオブジェクトを使用して階層ベースの問合せを作成できる点にあります。プレゼンテーション階層は、メンバーの選択、カスタム・メンバー・グループ、非対称問合せなどの分析機能を提供します。
また、他のプレゼンテーション・レイヤー・オブジェクト同様に、ローカライゼーション情報を提供し、プレゼンテーション階層とプレゼンテーション・レベルにファイングレインなアクセス制御を適用できます。
以前のリリースのリポジトリがある場合は、Oracle BIリポジトリ・アップグレード・プロセスを実行しても、プレゼンテーション階層がプレゼンテーション・レイヤーに自動的には表示されません。ビジネス・モデルとマッピング・レイヤーから論理ディメンションを適切なプレゼンテーション表にドラッグすることにより、これらのオブジェクトを手動で作成する必要があります。
この項には次のトピックが含まれます:
プレゼンテーション階層を作成するには、論理ディメンション階層をビジネス・モデルとマッピング・レイヤーからプレゼンテーション・レイヤーの表にドラッグします。プレゼンテーション階層オブジェクトは、論理ディメンションが表のピア・オブジェクトであるビジネス・モデルとマッピング・レイヤーとは異なり、プレゼンテーション表内にある必要があります。プレゼンテーション階層は、Oracle BIアンサーでそれらに関連付けられた表内にも表示され、概念的に単純なモデルを提供します。
論理ディメンションがビジネス・モデルとマッピング・レイヤーの中で複数の論理表にわたっている場合は、個別の論理表をプレゼンテーション・レイヤーの中で単独のプレゼンテーション表としてモデル化する方法が最良です。
プレゼンテーション階層はいくつかの方法で作成できます。
ビジネス・モデル全体をプレゼンテーション・レイヤーにドラッグすると、他のプレゼンテーション・オブジェクトと並んで、プレゼンテーション階層と構成レベルが自動的に表示されます。
論理ディメンション表をプレゼンテーション・レイヤーにドラッグすると、プレゼンテーション階層とこれらのディメンションに基づくレベルが自動的に作成されます。
個々の論理ディメンションを適切なプレゼンテーション表にドラッグして、その表の中に対応するプレゼンテーション階層を作成することもできます。
管理ツールで扱う他の大半のオブジェクト同様に、プレゼンテーション表を右クリックして「新規オブジェクト」→「プレゼンテーション階層」を選択し、オブジェクトを手動で定義できます。
ビジネス・モデルとマッピング・レイヤーから個々の論理レベルをプレゼンテーション表にドラッグして、論理ディメンション階層のサブセットであるプレゼンテーション階層を作成することもできます。
たとえば、All Markets、Total US、Region、District、MarketおよびMarket Keyの各レベルを持つディメンションがあるとします。この論理ディメンション全体を、対応するプレゼンテーション表にドラッグ・アンド・ドロップすると、次のようになります。
一方、同じプレゼンテーション表にRegionレベルをドラッグ・アンド・ドロップすると次のようになります。
複数の論理階層を持つ論理ディメンションの場合、複数の独立したプレゼンテーション階層が作成されます。たとえば、次に示す論理ディメンションProductは、CategoryとCountryという2つの階層を持っています。
ビジネス・モデルとマッピング・レイヤーでは、この論理ディメンションが、複数階層を含む単一のディメンション・オブジェクトとしてモデル化されます。対照的に、プレゼンテーション・レイヤーでは、このディメンションは2つの個別のオブジェクトとしてモデル化されます。次のように、1つはCategoryレベルを通るドリル・パスを表示し、もう1つはCountryレベルを通るドリス・パスを表示します。
プレゼンテーション階層のプロパティは編集可能です。ロールベースのアクセス制御を適用する権限の設定、ローカライゼーションを目的としたカスタム表示名の設定、階層でのレベルの変更などができます。
プレゼンテーション階層のプロパティを編集するには
プレゼンテーション・レイヤーでプレゼンテーション階層をダブルクリックして「プレゼンテーション階層」ダイアログを表示します。
「一般」タブで次の変更が可能です。
名前:プレゼンテーション・オブジェクトの名前を変更すると自動的に別名が作成されるので、元の名前を使用した問合せも問題なく実行できます。
権限。詳細は、「プレゼンテーション・レイヤー・オブジェクトに対する権限の設定」を参照してください。
「カスタム表示名」および「カスタム説明」。「カスタム表示名」または「カスタム説明」を選択し、通常はローカライゼーションのために、セッション変数に基づいて、カスタム名またはカスタム説明を動的に表示します。ローカライゼーションの詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionシステム管理者ガイド』のOracle Business Intelligenceのローカライゼーションに関する項を参照してください。
論理ディメンション。このフィールドには、このプレゼンテーション階層の論理ディメンションの名前が表示されます。異なる論理ディメンションを選択するには、「参照」をクリックします。
オブジェクト非表示の条件。このフィールドでは、このプレゼンテーション階層をアンサーおよびBIコンポーザで表示するかどうかを制御する式を指定できます。オブジェクトを表示するには、このフィールドを空白のまま(デフォルト)にします。詳細は、「プレゼンテーション・オブジェクトの表示の制御」を参照してください。
「レベル」タブには、階層の中でのレベルとその順序が一覧で表示されます。親子階層ではこのタブは表示されません。レベルに対しては、追加、削除または並替えが可能です。「編集」ボタンをクリックして、特定のレベルのプロパティを編集することもできます。レベルのプロパティの詳細は、「プレゼンテーション・レベルの作成および管理」を参照してください。
「列の表示」タブは親子階層でのみ使用できます。親子階層にはレベルが存在しないので、表示列はプレゼンテーション階層オブジェクト全体に対して定義します。この親子階層の表示でどの列を使用するかを定義するには、「列の表示」タブを使用します。
表示列は追加、削除または並替えが可能です。また、「編集」ボタンをクリックして特定の列のプロパティを編集することもできます。
「別名」タブを使用して、このプレゼンテーション階層の別名を指定または削除できます。別名の詳細は、「プレゼンテーション・レイヤー・オブジェクトの別名(シノニム)の作成」を参照してください。
プレゼンテーション・レベルは、Oracle BIアンサーで階層列に表示されます。普通は、プレゼンテーション階層を作成すると、プレゼンテーション・レベルが自動的に作成されます。
プレゼンテーション・レベルのプロパティを編集するには
プレゼンテーション・レイヤーでプレゼンテーション・レベルをダブルクリックして「プレゼンテーション・レベル」ダイアログを表示します。
「一般」タブで次の変更が可能です。
名前:プレゼンテーション・オブジェクトの名前を変更すると自動的に別名が作成されるので、元の名前を使用した問合せも問題なく実行できます。
権限。詳細は、「プレゼンテーション・レイヤー・オブジェクトに対する権限の設定」を参照してください。
「カスタム表示名」および「カスタム説明」。「カスタム表示名」または「カスタム説明」を選択し、通常はローカライゼーションのために、セッション変数に基づいて、カスタム名またはカスタム説明を動的に表示します。ローカライゼーションの詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionシステム管理者ガイド』のOracle Business Intelligenceのローカライゼーションに関する項を参照してください。
論理レベル。このフィールドには、このプレゼンテーション・レベルの論理レベルの名前が表示されます。異なる論理レベルを選択するには、「参照」をクリックします。
「オブジェクト非表示の条件」フィールドに式を指定しても、アンサーおよびBIコンポーザのプレゼンテーション・レベルの表示には影響しません。このフィールドは、将来のリリース用に予約されています。
「レベルへのドリル」タブと「レベルからのドリル」タブは今後のリリース向けとして確保されているもので、現在は未使用です。どのプレゼンテーション・レイヤー・オブジェクトを右クリックしても表示される「ドリル・グラフの生成」オプションも、今後のリリースで使用する予定のものです。
「列の表示」タブを使用して、該当のレベルをドリルダウンしたときの表示にどの列を使用するかを定義します。たとえば、「Name」と「ID」という2つの列が同じレベルに存在している場合、ユーザーには名前の方がわかりやすいので「Name」が表示されるように選択できます。
表示列は追加、削除または並替えが可能です。また、「編集」ボタンをクリックして特定の列のプロパティを編集することもできます。
このタブで表示列を定義するかわりに、管理ツールのプレゼンテーション・レイヤーでプレゼンテーション・レベルにプレゼンテーション列を直接ドラッグしてもかまいません。この方法では、プレゼンテーション・レベルの表示列として、ドラッグした列が自動的に追加されます。
プレゼンテーション・レベルを作成したときにデフォルトで表示される表示列は、対応する論理レベルのどのキー列で「表示に使用」オプションが選択されているかに基づいて決まります。
「別名」タブを使用して、プレゼンテーション・レベルの別名を指定または削除します。別名の詳細は、「プレゼンテーション・レイヤー・オブジェクトの別名(シノニム)の作成」を参照してください。
アクセス制御を適用して、特定のプレゼンテーション・レイヤー・オブジェクトにアクセスできる個々のユーザーまたはアプリケーション・ロール(グループ)を制限できます。たとえば、あるプレゼンテーション表のセットについて、特定のアプリケーション・ロールには読取り専用アクセス、別のアプリケーション・ロールには読取り/書込みアクセスをそれぞれ許可し、さらに別のアプリケーション・ロールにはアクセスをいっさい許可しないという設定が可能です。
Identity Managerを使用して権限を設定することもできます。プレゼンテーション・レイヤーで権限を設定できるオブジェクトは一度に1つのみなので、多数のオブジェクトに対する個々のアプリケーション・ロールの権限を同時に設定する場合はIdentity Managerが便利です。Identity Managerでオブジェクトの権限を設定する方法の詳細は、「オブジェクト権限の設定」を参照してください。Oracle Business Intelligenceでデータにアクセスする際のセキュリティの詳しい説明は、第14章を参照してください。
AuthenticatedUserアプリケーション・ロール(新しいリポジトリ・オブジェクトに関連付けられるデフォルトのアプリケーション・ロール)にデフォルトで付与する権限のレベルを制御できます。これを行うには、NQSConfig.INIファイル内のDEFAULT_PRIVILEGESパラメータを設定します。詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionシステム管理者ガイド』を参照してください。
プレゼンテーション・レイヤー・オブジェクトの権限を設定するには
プレゼンテーション・レイヤーで、サブジェクト・エリア、表、列、階層などのプレゼンテーション・オブジェクトをダブルクリックします。
「一般」タブで「権限」をクリックします。
図12-3に「権限」ダイアログを示します。
「権限」ダイアログでは、「デフォルト」の権限を持つユーザーやアプリケーション・ロールは「ユーザー/アプリケーション・ロール」リストに表示されません。「デフォルト」の権限を持つユーザーやアプリケーション・ロールを表示するには「すべてのユーザー/アプリケーション・ロールの表示」を選択します。
オンライン・モードでは、「すべてのユーザー/アプリケーション・ロールの表示」を選択していても、デフォルトではユーザーが取得されないようになっています。取得するユーザーのセットを指定するには、「オンライン・ユーザー・フィルタの設定」をクリックします。
フィルタはデフォルトでは空になっています。これは、ユーザーは一切取得されないことを意味します。すべてのユーザーを取得するには*と入力します。特定のユーザーのセットを取得するには、文字の組合せを入力します。たとえば、文字Aで始まるすべてのユーザーを取得するには、A*と入力します。このフィルタでは、大文字と小文字は区別されません。
ユーザーごとおよびアプリケーション・ロールごとに、次のオプションのいずれかを選択することで、このプレゼンテーション・オブジェクトに対するアクセス権限を許可または拒否できます。
読取り。このオブジェクトに対しては読取りアクセスのみを許可します。
読取り/書込み。このオブジェクトに対しては読取りと書込みの両方のアクセスを提供します。
アクセス権なし。このオブジェクトに対するすべてのアクセスを明示的に定義します。
デフォルト。権限を親オブジェクトから継承します。サブジェクト・エリアの場合、それらは最上位レベルのオブジェクトであるため、「デフォルト」はAuthenticatedUserアプリケーション・ロールに付与される権限と同等です。
「OK」をクリックします。
このプレゼンテーション・オブジェクトの「プロパティ」ダイアログで「OK」をクリックします。
個々のプレゼンテーション・レイヤー・オブジェクトの権限レポートを生成して、そのオブジェクトに権限が適用されている様子をサマリーで確認できます。これを実行するには、任意のプレゼンテーション・オブジェクトを右クリックして「権限レポート」を選択します。「権限レポート」ダイアログに、そのプレゼンテーション・オブジェクトの名前と説明のほか、ユーザーとアプリケーション・ロールおよびその権限が一覧表示されます。
「権限」ダイアログでタイプおよびユーザー名またはアプリケーション・ロール名をソートする方法は6種類あります。ソートを変更するには、1番目の列または2番目の列のヘッダーをクリックします。1番目の列にはヘッダーがなく、ユーザーまたはアプリケーション・ロールのタイプを表すアイコンが表示されています。2番目の列には、ユーザー・オブジェクトまたはアプリケーション・ロール・オブジェクトの名前が表示されています。個々のオブジェクト権限(「読取り」、「読取り/書込み」など)の列ではソートできません。
タイプでソートする方法は3種類あり、ユーザー名またはアプリケーション・ロール名のリストをソートする方法は3種類あります。したがって、ソートでは6種類(3 x 2 =6)の方法を使用できます。タイプ列をクリックして得られるソート結果を次に示します。
AuthenticatedUser、「アプリケーション・ロール」、「ユーザー」(タイプ名の昇順)
「ユーザー」、「アプリケーション・ロール」、AuthenticatedUser(タイプ名の降順)
タイプの列に特定の順序なし(「ユーザー/アプリケーション・ロール」列のすべての名前は、その列の値の昇順でソートされるので、タイプの値は無視されます)
「ユーザー/アプリケーション・ロール」列をクリックして得られるソート結果を次に示します。
タイプの昇順
タイプの降順
各プレゼンテーション・オブジェクトには、その名前の別名(シノニム)のリストを設定でき、それを論理SQL問合せで使用できます。別名のリストを作成するには、適切なプレゼンテーション・オブジェクト(サブジェクト・エリア、プレゼンテーション表、プレゼンテーション階層、プレゼンテーション・レベルまたはプレゼンテーション列)の「プロパティ」ダイアログにある「別名」タブを使用します。
プレゼンテーション・レイヤー・オブジェクトは、リポジトリの開発プロセスで頻繁に削除と再作成が繰り返されます。したがって、論理ビジネス・モデルが比較的安定するまで待ったうえで、プレゼンテーション・オブジェクトの別名を作成することをお薦めします。
この機能を使用すると、アンサー、Oracle BI Publisherまたは他の論理SQLクライアントからのリクエストを含めて、既存のリクエストが古い名前に対して持つ参照を破損することなく、プレゼンテーション・オブジェクトの名前を変更できます。新しいリポジトリの開発中である場合、そのリポジトリが安定するまで待ってから、オブジェクトの名前を変更できます。
たとえば、「Facts Other」というプレゼンテーション表を持つサブジェクト・エリア「Sample Sales Reduced」があるとします。「# of Customers」というプレゼンテーション列の名前を「Number of Customers」に変更すると、「# of Customers」を使用するリクエストはすべて失敗します。しかし、「Number of Customers」列の「別名」タブでシノニムのリストに「# of Customers」を追加しておけば、「# of Customers」と「Number of Customers」のどちらを使用した問合せも問題なく実行でき、同じ結果が得られます。
次のことに注意してください。
アンサーやその他の問合せクライアントで新しい問合せを作成するとき、プレゼンテーション・オブジェクトの別名はそこには表示されません。サブジェクト・エリア、階層、レベル、表および列のプライマリ名のみが表示されます。
この機能の動作は、SQL別名や物理レイヤーにある別名の動作とは異なります。この機能では、オブジェクト名のシノニムを提供するだけであり、SQLの「シノニム」にきわめて似ています。
プレゼンテーション・オブジェクトの名前を変更すると、その別名が自動的に作成されます。たとえば、CatalogをCatalog1に変更すると、元の名前Catalogが別名のリストに追加されます。
プレゼンテーション・レイヤー・オブジェクトの名前を、同じタイプのオブジェクトの別名としてすでに使用されている名前に変更することはできません。
プレゼンテーション・オブジェクトの別名を追加または削除するには
プレゼンテーション・レイヤーで、サブジェクト・エリア、表、列、階層などのプレゼンテーション・オブジェクトをダブルクリックします。
「別名」タブをクリックします。
別名を追加するには、「新規」ボタンをクリックして、別名として使用するテキスト文字列を入力します。
別名を削除するには、削除する別名を「別名」リストから選択し、「削除」ボタンをクリックします。
「OK」をクリックします。
「オブジェクト非表示の条件」フィールドを使用して、アンサーおよびBIコンポーザで、選択したプレゼンテーション・レイヤー・オブジェクトを非表示にすることができます。サブジェクト・エリア、表、列および階層を非表示にできます。プレゼンテーション・レベルに対して「オブジェクト非表示の条件」が表示されていますが、これは今後のリリースのためのプレースホルダであり、現在、プレゼンテーション・レベル・オブジェクトには影響しません。
「オブジェクト非表示の条件」フィールドは、オブジェクトの表示/非表示を制御するだけであり、オブジェクト・アクセスに影響するものでありません。たとえば、非表示のオブジェクトに対して、nqcmd
のようなツールを使用して問合せを行うことができます。
プレゼンテーション・レイヤー・オブジェクトを表示するかどうかを決めるために「オブジェクト非表示の条件」フィールドで使用できる式には、次の3つのタイプがあります。
定数。オブジェクトを非表示にするには、フィールドに任意のゼロ以外の定数を入力します。オブジェクトを表示するには、0を入力するか、フィールドを空白のままにします。
セッション変数。式でセッション変数を使用して、オブジェクトを非表示にするかどうかを制御できます。式がゼロ以外の値と判断されると、オブジェクトは非表示になります。式がゼロと判断されるか、空であるか、または値の定義がない場合、オブジェクトは表示されます。セッション変数には、セッション初期化ブロックまたは行単位の初期化ブロックを使用して値を移入する必要があります。表示/非表示を制御するには、セッション変数に適切な値を移入する必要があります。
初期化ブロックのSQLでは、CASE
文を使用して、セッション変数でゼロを返すか、ゼロ以外の数字を返すかを制御できます。セッション変数を使用した式の例は次のようなものです。
VALUEOF(NQ_SESSION."VISIBLE")
ピリオドを含むセッション変数名は二重引用符で囲む必要があることに注意してください。
セッション変数の比較。等価比較または非等価比較を使用して、オブジェクトを非表示にするかどうかを制御できます。次の形式を使用します。
'session_variable_expression' '=|<>' 'constant'
式がゼロ、NULLまたは空であると判断された場合、オブジェクトは表示されます。式がゼロ以外の値と判断されると、オブジェクトは非表示になります。
次に例を示します。
NQ_SESSION."VISIBLE" = 'ABC' NQ_SESSION."VISIBLE" <> 'ABC'
ピリオドを含むセッション変数名は二重引用符で囲む必要があることに注意してください。
「オブジェクト非表示の条件」の式では、Oracle BI EEがサポートしている任意のスカラー関数を使用できます。スカラー関数には、その引数それぞれに対する単純な値を受け入れ、単一の値を返す任意の関数が含まれます。非確定的な結果を返す関数(RAND
、NOW
、CURRENT_DATE
、CURRENT_TIMESTAMP
、CURRENT_TIME
など)を除き、次の各項に示されているほとんどの関数を使用できます。
すべての文字列関数
ほとんどの数学関数(RAND
を除く)
ほとんどのカレンダ日付/時刻関数(NOW
、CURRENT_DATE
などを除く)
ほとんどの変換関数(CAST、IFNULL、TO_DATETIME、VALUEOFなど)
たとえば、次の式では、NQ_SESSION.VISIBLEセッション変数がABCという文字で始まっているかどうかがチェックされます。
LEFT(VALUEOF(NQ_SESSION."VISIBLE"), 3) = 'ABC'
同様に、次の式では、指定の変数がExtnAttributeで始まっているかどうかがチェックされます。
Left(VALUEOF(NQ_SESSION."ADF_LABEL_ORACLE.APPS.CRM.MODEL.ANALYTICS. APPLICATIONMODULE.CRMANALYTICSAM_CRMANALYTICSAMLOCAL_CRMANALYTICSAM. OPPORTUNITYAM.OPPORTUNITY_EXTNATTRIBUTECHAR001"), 13) = 'ExtnAttribute'
整合性チェックを実行すると、整合性チェック・マネージャにより、可視性フィルタ式の不整合が検出されます。