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

データセット所有者として、アプリケーション・ロールに基づくフィルタ(ロールベース・フィルタとも呼ばれる)を適用して、Oracle Analyticsのビジネス・アナリストおよびユーザーが、必要なデータにのみアクセスできるようにします。

たとえば、一部のユーザーが共有のグローバル・セールス・ワークブックを開いたときに、北米の売上データのみが表示されるようにしたいとします。これを実現するには、「北米アナリスト」というカスタム・アプリケーション・ロールを作成し、それを使用してワークブック・データをフィルタ処理します。

ロールベース・フィルタの概要

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


    GUID-2B62C189-6FF7-41CF-8DA5-F48A7DC2B38F-default.pngの説明が続きます
    .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を持つユーザーがログインしてワークブックを作成する場合、すべてのデータを参照できます。