示例 7 - 将拒绝的成员作为例外

在该示例中,数据库角色无权访问收入度量值的单元,但不包括那些也属于地域维度中欧洲或其后代之一的收入单元。

以下表达式为设置这些权限的多维表达式 (MDX) 表达式:

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

查看结果集

根据此数据库角色的这些单元数据权限,对所有单元的查询将返回下表中显示的结果集:

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

重要说明重要提示

如果某个 Microsoft Windows 用户或组属于多个数据库角色,则对所有单元的查询将首先导致根据该用户或组所属的各个数据库角色分别生成数据集。 然后,Microsoft SQL Server Analysis Services 将把所有这些数据集组合为一个数据集,再将组合后的数据集返回给该用户或组。