ロールベース・フィルタについて

アプリケーション・ロールに基づくフィルタ(ロールベース・フィルタとも呼ばれる)を使用すると、Oracle Analyticsのビジネス・アナリストおよびユーザーは、必要なデータにのみアクセスできます。たとえば、一部のユーザーが共有のグローバル・セールス・ワークブックを開いたときに、北米の売上データのみが表示されるようにしたいとします。これを実現するには、「北米アナリスト」というカスタム・アプリケーション・ロールを作成し、それを使用してワークブック・データをフィルタ処理します。

ロールベース・フィルタの概要
  • データセット所有者は、Oracle Analyticsアプリケーション・ロールに基づいてフィルタを適用します。これにより、ユーザーには自分のアプリケーション・ロールに適したデータのみが表示されます。
  • ロールベース・フィルタをデータセットに適用します。
  • 同時に複数のロールベース・フィルタをデータセットに適用できます。
  • データセット・エディタでロールベース・フィルタを追加する場合、表示されるプレビュー・データはフィルタ処理されず、ワークブック・コンシューマがデータセットにアクセスしたときにデータセットがフィルタ処理されます。
  • 既存のアプリケーション・ロールを使用することも、独自のアプリケーション・ロールを作成することもできます。たとえば、ヨーロッパと北米のアナリストのグローバル売上データセットをフィルタ処理するには、アプリケーション・ロールEuropeanSalesおよびNorthAmericaSalesを作成できます。


    rbf-example-application-roles.pngの説明が続きます
    図rbf-example-application-roles.pngの説明

  • 式を使用して、ロールベース・フィルタを指定します。たとえば、North America Salesアプリケーション・ロールでは、式COUNTRY_SUBREGION = "Northern America"を使用して、COUNTRIES表のCOUNTRY_SUBREGION列をフィルタ処理できます。

  • フィルタ式では、Oracle Analyticsシステム変数を参照できます。たとえば、Sales Repアプリケーション・ロールでは、式SALESREP_ID = USER()を使用してSALESREP_ID列をフィルタ処理できます。ここで、USER ()はログイン・ユーザーのIDを提供するシステム変数です。

  • データベース・エディタで、ツールバーのロールベース・フィルタ・バーの非表示または表示オプションを使用して、ロールベース・フィルタ・パネルを表示します。

ロールベース・フィルタの使用に関するヒント
  • すべてのユーザーおよびロールのデータセットをフィルタ処理するには、Authenticated Userロールにロールベース・フィルタを追加します。たとえば、ユーザーがEMEAリージョンのデータにのみアクセスできるようにする場合は、フィルタ式REGION = "EMEA"をAuthenticated Userロールに追加します。

  • データセットにロールベース・フィルタを設定すると、データセット所有者を含め、指定されたロールを持たないユーザーは、どのデータも参照できなくなります。データセット所有者がデータを参照する必要がある場合は、指定されたロールの1つにデータセット所有者を追加します。さらに、AdminやOrgVPなどのスーパー・ロールを持つユーザーがすべてのデータを参照する必要がある場合は、ダミー・フィルタを作成します。たとえば、OrgVPがリージョン内のすべてのデータを参照できるようにする場合は、OrgVPのアプリケーション・ロール用に追加のフィルタを作成し、式1=1でフィルタを作成します。OrgVPを持つユーザーがログインしてワークブックを作成する場合、すべてのデータを参照できます。