Example 2—Explicitly Specifying 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

Oregon

True

False

City

True

True

False

Gender

True

True

False

The results of these dimension security settings are the following:

  • The Oregon member of the State attribute will not be visible to this database role. (Oregon has been specified in the denied set for the State attribute.)
  • None of the members of an attribute hierarchy that includes Oregon (in this case, the members of the City attribute) will be visible to this database role. (The ApplyDenied property is enabled.)

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

Male

2000

Female

2200

San Francisco

 

4400

Male

2200

Female

2200

Los Angeles

 

4300

Male

2100

Female

2200

Washington

 

8700

Seattle

 

4500

Male

2200

Female

2300

Tacoma

 

4300

Male

2000

Female

2300

Notice that although the result set does not explicitly provide totals for Oregon, this information can still be deduced by a member of this database role. A member of this role can view the total sales for all offices and can view the total sales for both California and Washington. Therefore, a member of this database role would be able to infer the total sales for Oregon, even though that member is explicitly denied permission to see sales within Oregon. To prevent a member of this database role from being able to deduce the totals for Oregon, enable the VisualTotals property.

See Also

Tasks

Granting Custom Access to Dimension Data

Concepts

Example 1—Explicitly Specifying an Allowed Set
Example 3—Using the Except Function to Exempt Members from a Denied Set
Example 4—Using the Exists Function to Exempt Members from a Denied Set
Example 5—Using the Exists Function to Specify an Allowed Set
Example 6—Using the Exists and Except Functions to Specify Allowed and Denied Sets

Help and Information

Getting SQL Server 2005 Assistance