예 3 - Except 함수를 사용하여 거부 집합에서 멤버 제거
이 예에서 데이터베이스 역할은 다음 테이블에 표시된 것과 같은 차원 보안 설정을 가집니다.
Attribute |
IsAllowed |
AllowedSet |
DeniedSet |
ApplyDenied |
VisualTotals |
---|---|---|---|---|---|
State |
True |
|
|
True |
False |
City |
True |
|
EXISTS (City..Members, EXCEPT (State.members, {CA})) |
True |
False |
Gender |
False |
|
|
True |
False |
이러한 차원 보안 설정의 결과는 다음과 같습니다.
City 특성에 지정된 거부 집합(DeniedSet)에 따라 EXISTS 및 EXCEPT 키워드를 통해 State 특성에 새로 추가된 멤버의 하위 항목에 대한 표시 여부가 제한됩니다.
Gender 특성에 대한 IsAllowed 속성이 False로 설정되어 있으므로 이 특성은 표시되지 않습니다.
결과 집합 검토
역할에 대한 이러한 차원 보안 설정 및 모든 셀에 대한 큐브 액세스를 기반으로, 모든 멤버 쿼리 시 큐브에서 다음과 같은 결과 집합이 반환됩니다.
All Level |
State |
City |
Gender |
Sales Amount |
---|---|---|---|---|
All Offices |
|
|
|
27300 |
|
California |
|
|
b83e-4967-42ec-ac19-64bd8b3e257c.xml.rtf |
|
|
San Jose |
|
4200 |
|
|
San Francisco |
|
4400 |
|
|
Los Angeles |
|
4300 |
|
Washington |
|
|
8700 |
|
Oregon |
|
|
5700 |