Exemple 6 : utilisation des fonctions Exists et Except pour définir les jeux autorisés et refusés

Dans cet exemple, un rôle de base de données est configuré avec les paramètres de sécurité de dimension indiqués dans le tableau suivant.

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

Les résultats de ces paramètres de sécurité de dimension sont les suivants :

  • Le jeu refusé pour l'attribut State indique que le rôle de base de données peut afficher uniquement le membre California. Tous les autres membres existants et les membres ajoutés à l'attribut State ne seront pas visibles.

  • Les membres des hiérarchies d'attributs qui incluent un membre de l'attribut State restent visibles, même si l'attribut State a un jeu refusé. Les membres des autres hiérarchies d'attributs restent visibles, car la propriété ApplyDenied des attributs State et City a la valeur False.

  • La ville Seattle est visible, car elle se trouve dans le jeu autorisé pour l'attribut City.

  • Les totaux agrégés des attributs All Level et State incluent uniquement les valeurs des membres visibles, car la propriété VisualTotals de ces deux attributs a la valeur True.

Vérification du jeu de résultats

Compte tenu de ces paramètres de sécurité de dimension pour le rôle (et de l'accès du cube à toutes les cellules), le jeu de résultats suivant est retourné par le cube lorsque tous les membres font l'objet d'une requête.

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