示例 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 函数指定允许集