範例 6—使用 Exists 和 Except 函數來指定允許的集合和拒絕的集合
在此範例中,資料庫角色具有下表所顯示的維度安全性設定。
Attribute | IsAllowed | AllowedSet | DeniedSet | ApplyDenied | VisualTotals |
---|---|---|---|---|---|
State |
True |
|
EXCEPT (State..Members, {California}) |
False |
True |
City |
True |
EXISTS (City..Members, {California} + {Seattle}) |
|
False |
False |
Gender |
False |
|
|
True |
False |
這些維度安全性設定的結果如下:
- State 屬性之拒絕的集合,指定資料庫角色只能檢視 California 成員。State 屬性之所有其他現有的成員和新加入的成員將不會出現。
- 屬性階層中包含 State 屬性之成員的成員仍然會出現,既使 State 屬性有拒絕的集合也一樣。其他屬性階層中的成員仍會出現,因為 State 和 City 屬性的 ApplyDenied 屬性是設定為 False。
- Seattle 會出現,因為它是在 City 屬性之容許的集合中。
- All Level 和 State 屬性的總計只會包含可見的成員值,因為這兩個屬性的 VisualTotals 屬性是設定為 True。
檢閱結果集
根據角色的這些維度安全性設定 (以及根據所有資料格的 Cube 存取權限),查詢所有成員時,會從 Cube 傳回下列結果集。
All Level | State | City | Gender | Sales Amount |
---|---|---|---|---|
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 函數來指定允許的集合