Семинар 15. Работа с агрегатами



бет4/10
Дата07.05.2023
өлшемі1,86 Mb.
#90924
түріСеминар
1   2   3   4   5   6   7   8   9   10
Байланысты:
Семинар 15

RLS для агрегатов
В выражениях RLS для правильной работы с агрегатами нужно фильтровать как таблицу агрегирования, так и таблицу сведений.
В приведенном ниже примере выражение RLS в таблице Geography будет работать для агрегатов, так как Geography находится на стороне фильтрации связей с обеими таблицами: Sales и Sales Agg. Безопасность RLS будет успешно применена к запросам, которые попадают и не попадают в таблицу агрегирования.

Выражение RLS в таблице Product фильтрует только таблицу сведений Sales, но не агрегированную таблицу Sales Agg. Так как таблица агрегирования является другим представлением данных в таблице сведений, было бы небезопасно отвечать на запросы из таблицы агрегирования, если применить фильтр RLS было бы невозможно. Фильтровать только таблицу сведений не рекомендуется, так как запросы пользователей с этой ролью не будут использовать преимущества попаданий агрегатов.
Выражение RLS, которое фильтрует только таблицу агрегирования Sales Agg, но не таблицу сведений Sales, недопустимо.

В случае с агрегатами, основанными на столбцах "группировать по", выражение RLS, применяемое к таблице сведений, можно использовать для фильтрации таблицы агрегирования, так как все столбцы "группировать по" в таблице агрегирования учтены в таблице сведений. С другой стороны, фильтр RLS в таблице агрегирования невозможно применить к таблице сведений, поэтому это запрещено.
Агрегат, основанный на связях
В многомерных моделях обычно используются агрегаты, основанные на связях. Наборы данных Power BI из хранилищ данных и киосков данных напоминают схемы типа "звезда" или "снежинка" со связями между таблицами измерений и таблицами фактов.
В представленной ниже модели из одного источника данных таблицы используют режим хранения DirectQuery. Таблица фактов Sales содержит миллиарды строк. Указание режима хранения "Импорт" для таблицы Sales для кэширования существенно повышает затраты на управление и память.

Вместо этого следует создать таблицу агрегирования Sales Agg. В таблице Sales Agg число строк равно сумме в столбце SalesAmount, сгруппированном по CustomerKeyDateKey и ProductSubcategoryKey. Для таблицы Sales Agg характерна более высокая степень детализации, чем для таблицы Sales, поэтому вместо миллиардов в ней могут быть миллионы строк, что гораздо проще для обработки.
Если приведенные ниже таблицы измерений чаще всего используются для запросов с высокой ценностью для бизнеса, они могут фильтровать Sales Agg с помощью связи один ко многим или многие к одному.

  • Географический регион

  • Customer

  • Date

  • Подкатегория продукта

  • Категория продуктов

Эта модель показана на следующем рисунке.

В следующей таблице показаны агрегаты для таблицы Sales Agg.



Достарыңызбен бөлісу:
1   2   3   4   5   6   7   8   9   10




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет