範例 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

請參閱

工作

授與對維度資料的自訂存取權

概念

範例 1—明確地指定允許集
範例 2—明確指定拒絕的集合
範例 3—使用 Except 函數來排除拒絕的集合中的成員
範例 4—使用 Exists 函數來排除拒絕的集合內的成員
範例 5—使用 Exists 函數來指定允許的集合

說明及資訊

取得 SQL Server 2005 協助