Пример 6. Использование функций Exists и Except для установки допустимых и запрещенных наборов
В этом примере у роли базы данных есть настройки безопасности измерения, которые показаны в следующей таблице.
Attribute |
IsAllowed |
AllowedSet |
DeniedSet |
ApplyDenied |
VisualTotals |
---|---|---|---|---|---|
Состояние |
True |
EXCEPT (State..Members, {California}) |
False |
True |
|
City; |
True |
EXISTS (City..Members, {California} + {Seattle}) |
False |
False |
|
Gender; |
False |
True |
False |
Данные настройки безопасности измерения приводят к следующим результатам:
Запрещенный набор для атрибута Штат указывает на то, что данной роли для просмотра доступен только элемент Калифорния. Все остальные существующие элементы и любые из последних добавленных элементов атрибута Штат будут невидимы.
Элементы в иерархиях атрибутов, в состав которых входит элемент атрибута Штат, остаются видимыми, даже несмотря на то, что у атрибута Штат есть запрещенный набор. Элементы в других иерархиях атрибутов остаются видимыми, потому что свойству ApplyDenied для атрибутов Штат и Город задается значение False.
Город Сиэтл видим, поскольку он включен в состав разрешенного набора для атрибута Город.
Суммарные итоги для атрибутов Уровень «Все» и Штат включает в себя только значения видимых элементов, поскольку свойству VisualTotals для обоих данных атрибутов задано значение True.
Просмотр результирующего набора
На основе этих настроек безопасности измерения для роли (а также на основе доступа куба ко всем ячейкам) из куба возвращается следующий результирующий набор при запросе всех элементов.
Уровень (Все) |
Состояние |
City; |
Gender; |
Объем продаж |
---|---|---|---|---|
Все офисы |
17400 |
|||
Калифорния |
12900 |
|||
Сан-Хосе |
4200 |
|||
Сан-Франциско |
4400 |
|||
Лос-Анджелес |
4300 |
|||
Вашингтон |
4500 |
|||
Сиэтл |
4500 |
См. также