Обратная связь
Введите ваши данные, и я свяжусь с вами!
Какой у вас вопрос?

Нажимая на кнопку, вы даете согласие на обработку персональных данных и соглашаетесь c обработкой персональных данных

Способы оптимизации модели данных в Power BI

Материал обновлен 29:12:2022
Примеры реальных задач, пошаговые инструкции по BI, DWH и DE в моем телеграм канале подпишитесь сейчас!

Поделюсь своим опытом оптимизации моделей данных в Power BI

Всем вам знакома ситуация, когда изначально спроектированная модель по схеме Звезда со временем превращается в черную дыру, которая сначала влияет на скорость работы дашборда, потом вызывает трудности при обновлении, а потом может и «положить» компьютер:

Пример реальной модели

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

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

Удалите не нужные таблицы

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

Удалите не используемые столбцы и измените структуру таблиц

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

Измените типы данных

Проверьте, все ли столбцы с числами у вас имеют соответствующий тип, отличный от типа строка.  Если есть дробные числа, задайте себе вопрос — нужны ли они вам или можно выполнить предварительную обработку данных и округлить их до целых чисел. Также советуют столбцы с датой и временем разделить на два отдельных: дату и время, так сокращается объем уникальных значений и значит поиск  и обработка необходимых значений.

Переложите расчеты на базу данных

Если есть такая возможность — выполните все предварительные расчеты на уровне базы данных. Будьте аккуратны, это может увеличить нагрузку сервер базы данных! Также на уроне базы данных можно добавить необходимые расчетные столбцы или выполнить агрегацию данных для справочников.

Мультимодельность

Нашёл такую рекомендацию и зачастую она действительно помогает. Ее суть в том, что не нужно строить очень сложный дашборд постоянно добавляя в него все новые и новые данные. Если позволяет возможность для каждой задачи создавайте отдельный дашборд у которого будет своя модель данных. Здесь главное не увлекаться и не наплодить массу слишком мелких дашбордов под похожие задачи.

Отключить «суммировать по»

Скажу сразу, сам я не пользовался этой опцией, но отключить е советуют коллеги:

Опция суммировать по

Надеюсь эти советы помогут вам оптимизировать модели данных в Power BI. Если у вас есть чем дополнить материал — напишите в комментариях.

Рассылка бесплатных кейсов, инструкций, обзоров
Нажимая на кнопку, вы даете согласие на обработку персональных данных и соглашаетесь c политикой конфиденциальности
Ежедневные новости из мира аналитики в Telegram канале
Настройки, интеграции, примеры реальных задач, пошаговые инструкции
материалы ПО ТЕМЕ:
ОБСУЖДЕНИЕ:
Оставить комментарий
Для добавления комментария — заполните форму!

Нажимая на кнопку, вы даете согласие на обработку персональных данных и соглашаетесь c обработкой персональных данных