共用方式為


範例 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 屬性有拒絕的集合也一樣。其他屬性階層中的成員仍會出現,因為 StateCity 屬性的 ApplyDenied 屬性是設定為 False。

  • Seattle 會出現,因為它是在 City 屬性之容許的集合中。

  • All LevelState 屬性的總計只會包含可見的成員值,因為這兩個屬性的 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