Share via


Exemple 7 : création d'exceptions pour des membres refusés

Dans cet exemple, le rôle de base de données n'a pas accès aux cellules de la mesure Revenue, sauf pour les cellules Revenue qui appartiennent également à Europe ou l'un de ses descendants dans la dimension Geography.

L'expression suivante est l'expression multidimensionnelle (MDX, Multidimensional Expressions) qui définit ces autorisations :

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

Vérification du jeu de résultats

En fonction des autorisations de ce rôle de base de données sur les données des cellules, une requête sur toutes les cellules retourne le jeu de résultats indiqué dans le tableau suivant.

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

Si un utilisateur ou un groupe Microsoft Windows appartient à plusieurs rôles de base de données, une requête sur toutes les cellules génère un dataset en fonction de chacun des rôles de base de données auxquels l'utilisateur ou le groupe appartient. Ensuite, Microsoft SQL Server Analysis Services combine tous ces datasets dans un dataset et retourne le dataset combiné à l'utilisateur ou au groupe.