Функция DAX SUMMARIZE не учитывает безопасность на основе строк в моей модели Power BI - PullRequest
0 голосов
/ 14 марта 2019

Я добавляю защиту на уровне строк к модели Power BI, и она работает со всеми обычными таблицами, но есть таблица DAX, созданная из SUMMARIZE, которая игнорирует безопасность.Я создал небольшую модель, которая воспроизводит проблему - я здесь что-то не так делаю, или это поведение является преднамеренным?

Вот моя модель данных - «Raw Table» - это просто таблица с ручным управлением с некоторыми числами в нейи столбец фильтра:

enter image description here

«Таблица DAX» создается с помощью оператора SUMMARIZE, который просто делает его копией таблицы вручную (поскольку каждая строкаВ любом случае уникальна):

DAX Table = SUMMARIZE('Raw Table', 'Raw Table'[Number], 'Raw Table'[Filter])

Вот как выглядит содержимое таблиц, когда ничего не фильтруется:

enter image description here

IДобавлена ​​защита на уровне строк, которая фильтрует таблицу фильтров только для записей «Показать»:

enter image description here

И через объединение это похоже на фильтрнеобработанная таблица обычно - когда она включена, я могу видеть только строки с «Показать» в них (как и ожидалось).Однако таблица DAX продолжает показывать все, даже отфильтрованные строки, которые я не должен видеть:

enter image description here

Что я делаю здесь неправильно?Поскольку мне не разрешено (через RLS) видеть строки, помеченные как «Скрыть», в необработанной таблице, не следует ли их исключить из оператора SUMMARIZE?Я понимаю, что добавление среза в таблицу Filter и нарезание таблицы Raw не влияет на оператор SUMMARIZE (я все еще вижу все строки в этом случае) - я просто вижу то же самое здесь?Поскольку я не могу видеть эти строки на основе настроек безопасности, я ожидаю, что они также будут скрыты от моего DAX.

Если предположить, что я делаю это правильно, и это сделано намеренно, как я могу это сделать?создать таблицу DAX, которая соответствует моим фильтрам безопасности (как я должен делать это в моей полной модели)?

Вот также ссылка на тестовый файл PBIX.

1 Ответ

1 голос
/ 14 марта 2019

Расчетные таблицы (и столбцы) рассчитываются при загрузке и материализации модели. Не во время выполнения.

Вам нужно будет подключить эту таблицу к вашей модели, чтобы безопасность распространялась и там.

...