メタデータのフィルタ

メタデータのフィルタを使用すると、Essbaseデータベース管理者は特定のアウトライン・メンバーをユーザーのビューから削除できます。MaxL create filter文(メタ読取り権限を示す)は、メタデータ・フィルタを設定する1つの方法です。

メタデータ・フィルタによって、データ・フィルタに加えて追加のセキュリティ層が提供されます。メタデータ・フィルタを使用すると、管理者はユーザーのビューからアウトライン・メンバーを削除できるため、ユーザーに関連するメンバーのみへのアクセスを提供できます。

フィルタを使用してメンバーにメタ読取り権限を適用すると、次のようになります。

  1. そのメンバーのすべての祖先のデータが、フィルタ・ユーザーのビューから非表示になります。

  2. そのメンバーのすべての兄弟のデータメタデータ(メンバー名)が、フィルタ・ユーザーのビューから非表示になります。

Sample.Basicに対する次のレポート・スクリプトについて考えます。

//Meta02.rep

<COLUMN (Year, Product)
<CHILDREN Cola

<ROW (Market)
<ICHILDREN West
!

フィルタなしの通常の状態では、次のような結果が返されます。

      Year 100-10 Measures Scenario
California          3,498
Oregon                159
Washington            679
Utah                  275
Nevada                (18)
  West              4,593

一方、読取りアクセス・ユーザーに次のフィルタを付与したとします。

 create or replace filter sample.basic.meta02 
  meta_read on '"California","Oregon"'
 ;

レポート・スクリプトの結果は次のようになります。

      Year 100-10 Measures Scenario
California          3,498
Oregon                159
  West           #Missing

CaliforniaとOregonに対するメタ読取り権限をまとめると、次のようになります。

  1. 影響を受けるユーザーは、CaliforniaとOregonメンバーの祖先のデータを表示できません。Westデータには、#Missing (または、グリッド・クライアント・インタフェースでは#NoAccess)のみが表示されます。

  2. 影響を受けるユーザーは、CaliforniaとOregonの兄弟の兄弟メタデータ(またはデータ)を表示できません。つまり、ユーザーは、フィルタによってメタ読取り権限が付与されている西部の州のみを表示できます。

メタデータ・フィルタ定義の重複

任意の行内の影響を受けるメンバー・セット(メタ読取りメンバーとその祖先)が、他の行のメタ読取りメンバーと重複していない場合にのみ、複数行を使用したメタ読取りフィルタを定義する必要があります。複数行に対するメタ読取りを含むフィルタでは、1行に1つのディメンションを指定することをお薦めします。ただし、祖先とメタ読取りメンバーに重複がないかぎり、1つのディメンションの異なるメンバー・セットを複数のメタ読取り行に指定することは有効になります。

たとえば、Sample.Basicで、次のフィルタ定義に重複の競合があります。

表3-25 重複が競合したサンプル・フィルタ

アクセス メンバー指定
メタ読取り California
メタ読取り 西部

最初の行では、Californiaにメタ読取りを適用すると、Californiaにアクセスできるようになりますが、その祖先へのアクセスはブロックされます。そのため、Westに対するメタ読取りアクセスは無視され、このフィルタが割り当てられているユーザーは、Westにアクセスできません。

CaliforniaとWestにメタ読取りアクセス権を割り当てるには、これらの行を次の1行にまとめる方法が適切です。

表3-26 重複が競合していないサンプル・フィルタ

アクセス メンバー指定
メタ読取り California,West

関連するMaxLのリンク

create filter

alter filter