Example 3—Using the Except Function to Exempt Members from a Denied Set
In this example, a database role has the dimension security settings that are shown in the following table.
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 |
The results of these dimension security settings are the following:
The denied set that is specified for the City attribute limits the visibility of descendants of newly added members of the State attribute through the EXISTS and EXCEPT key words.
The Gender attribute is not visible because the IsAllowed property for this attribute is set to False.
Reviewing the Result Set
Based on these dimension security settings for the role (and based on cube access to all cells), the following result set is returned from the cube when all members are queried.
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 |
See Also