Example 7—Making Exceptions to Denied Members

In this example, the database role does not have access to cells for the Revenue measure, except for those Revenue cells that are also for Europe or one of its descendants in the Geography dimension.

The following expression is the Multidimensional Expressions (MDX) expression that sets these permissions:

Ancestor(Geography.CurrentMember, [Continent]).Name = "Europe" 
OR Measures.CurrentMember.Name <> "Revenue"

Reviewing the Result Set

Based on these cell data permissions for this database role, a query on all cells returns the result set shown in the following table.

Continent Country/Region Cost Cost Revenue Revenue Tax Tax

1997

1998

1997

1998

1997

1998

Asia

1453

2507

#N/A

#N/A

182

266

Japan

1111

2009

#N/A

#N/A

133

210

Korea

342

498

#N/A

#N/A

49

56

Europe

1309

1514

1675

1835

304

348

France

864

931

1002

1122

205

228

Germany

445

583

673

713

99

120

N. America

2745

2544

#N/A

#N/A

456

432

Canada

622

511

#N/A

#N/A

59

58

USA

2123

2033

#N/A

#N/A

397

374

Important

If a Microsoft Windows user or group belongs to multiple database roles, a query on all cells would first result in a dataset being generated based on each database role to which the user or group belongs. Then, Microsoft SQL Server 2005 Analysis Services (SSAS) would combine all these datasets into one dataset, and return that combined dataset to the user or group.

See Also

Concepts

Granting Custom Access to Cell Data
Example 1—Permitting Access to All Members
Example 2—Permitting Access to a Single Member
Example 3—Denying Access to a Single Member
Example 4—Limiting Access to a Member and its Descendants
Example 5—Giving Access to a Specific Measure Within a Dimension
Example 6—Excluding Selected Measures from a Dimension

Help and Information

Getting SQL Server 2005 Assistance