示例 6 - 使用 Exists 和 Except 函数来指定允许集和拒绝集

在此示例中,数据库角色具有如下表中所示的维度安全性设置。

Attribute IsAllowed AllowedSet DeniedSet ApplyDenied VisualTotals

州省市自治区

True

 

EXCEPT (State..Members, {California})

False

True

市县

True

EXISTS (City..Members, {California} + {Seattle})

 

False

False

性别

False

 

 

True

False

以下为这些维度安全性设置的结果:

  • 州省市自治区特性的拒绝集指定该数据库角色只能查看 California 成员。州省市自治区特性的其他所有现有成员和新增成员将不可见。
  • 即使州省市自治区特性有拒绝集,包括州省市自治区特性的成员的特性层次结构中的成员仍然可见。其他特性层次结构中的成员仍然可见,这是因为州省市自治区市县特性的 ApplyDenied 属性设置为 False
  • Seattle 城市可见,因为它在市县特性的允许集中。
  • 全部级别州省市自治区特性的聚合合计值只包括可见成员的值,因为这两个属性的 VisualTotals 属性设置为 True

查看结果集

根据该角色的这些维度安全性设置(并根据对所有单元的多维数据集的权限),在查询所有成员时将从多维数据集中返回以下结果集:

全部级别 州省市自治区 市县 性别 销售额

All Offices

 

 

 

17400

 

California

 

 

12900

 

 

San Jose

 

4200

 

 

San Francisco

 

4400

 

 

Los Angeles

 

4300

 

Washington

 

 

4500

 

 

Seattle

 

4500

请参阅

任务

授予对维度数据的自定义访问权限

概念

示例 1 - 显式指定允许集
示例 2 - 显式指定拒绝集
示例 3 - 使用 Except 函数从拒绝集中排除成员
示例 4 - 使用 Exists 函数从拒绝集中排除成员
示例 5 - 使用 Exists 函数指定允许集

帮助和信息

获取 SQL Server 2005 帮助