例 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 |