Exemple 3 : utilisation de la fonction Except pour exempter les membres d'un jeu refusé
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 |
|
|
True |
False |
City |
True |
|
EXISTS (City..Members, EXCEPT (State.members, {CA})) |
True |
False |
Gender |
False |
|
|
True |
False |
Les résultats de ces paramètres de sécurité de dimension sont les suivants :
Le jeu refusé défini pour l'attribut City limite la visibilité des descendants des membres ajoutés de l'attribut State via les mots clés EXISTS et EXCEPT.
L'attribut Gender n'est pas visible, car la propriété IsAllowed de cet attribut a la valeur False.
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 |
|
|
|
27300 |
|
California |
|
|
12900 |
|
|
San Jose |
|
4200 |
|
|
San Francisco |
|
4400 |
|
|
Los Angeles |
|
4300 |
|
Washington |
|
|
8700 |
|
Oregon |
|
|
5700 |
Voir aussi