例 6 - Exists および Except 関数を使用した許可されたセットおよび拒否されたセットの指定

この例では、データベース ロールに次の表に示したディメンション セキュリティ設定があります。

Attribute

IsAllowed

AllowedSet

DeniedSet

ApplyDenied

VisualTotals

State

True

 

EXCEPT (State..Members, {California})

False

True

City

True

EXISTS (City..Members, {California} + {Seattle})

 

False

False

Gender

False

 

 

True

False

これらのディメンションのセキュリティ設定の結果は次のとおりです。

  • State 属性の拒否されたセットによって、データベース ロールは California メンバのみ表示できるように指定されます。State 属性のその他のすべての既存メンバおよび新しく追加されたメンバを表示することはできません。

  • State 属性のメンバが含まれている属性階層のメンバは、拒否されたセットが State 属性にあっても表示可能なままとなります。また、他の属性階層のメンバは、State および City 属性のApplyDenied プロパティが False に設定されているため、表示可能なままです。

  • Seattle 市は、City 属性の許可されたセットに入っているため表示可能です。

  • All Level および State 属性の合計集計数には、表示可能なメンバの値のみが含まれます。それは、これらの両方の属性の VisualTotals プロパティが True に設定されているためです。

結果セットの確認

データベース ロールのこれらのディメンション セキュリティ設定、およびすべてのセルへのキューブ アクセスに基づき、すべてのメンバに対するクエリが送信されると、次の結果セットがキューブから返されます。

All Level

State

City

Gender

Sales Amount

All Offices

 

 

 

17400

 

California

 

 

12900

 

 

San Jose

 

4200

 

 

San Francisco

 

4400

 

 

Los Angeles

 

4300

 

Washington

 

 

4500

 

 

Seattle

 

4500