예 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로 설정되어 있기 때문에 이러한 두 특성에 대해 집계된 합계에는 표시되는 멤버의 값만 포함됩니다.
결과 집합 검토
역할에 대한 이러한 차원 보안 설정 및 모든 셀에 대한 큐브 액세스를 기반으로 모든 멤버 쿼리 시 큐브에서 다음과 같은 결과 집합이 반환됩니다.
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 |