示例 4 - 限制对成员及其后代的访问

在本示例中,数据库角色有权访问**“地域”维度中的“欧洲”成员及其后代(“法国”“德国”及其“市县”**级别成员)的单元,但是该角色无权访问该维度中任何其他成员的单元。

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

Ancestor(Geography.CurrentMember,[Continent]) IS Europe

查看结果集

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

地区

Cost

Cost

Revenue

Revenue

Tax

Tax

1997

1998

1997

1998

1997

1998

亚洲

.

#N/A

#N/A

#N/A

#N/A

#N/A

#N/A

.

日本

#N/A

#N/A

#N/A

#N/A

#N/A

#N/A

.

韩国

#N/A

#N/A

#N/A

#N/A

#N/A

#N/A

欧洲

.

1309

1514

1675

1835

304

348

.

法国

864

931

1002

1122

205

228

.

德国

445

583

673

713

99

120

北美洲

.

#N/A

#N/A

#N/A

#N/A

#N/A

#N/A

.

加拿大

#N/A

#N/A

#N/A

#N/A

#N/A

#N/A

.

美国

#N/A

#N/A

#N/A

#N/A

#N/A

#N/A

重要说明重要提示

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