23 декабря 2024

📊 Построение DWH и разработка дашбордов в Power BI: 5 проблем и их решение

SQL Dev/ BI Dev / Data Analyst
Честный разбор подводных камней при построении DWH и практические советы по их преодолению. История о том, как превратить хаос данных в работающую бизнес-аналитику.
📊 Построение DWH и разработка дашбордов в Power BI: 5 проблем и их решение

Привет всем!

Я, Ипатов Александр, backend-разработчик в компании USETECH. Хотел бы поделиться своим опытом по проекту, связанному с реализацией насыщения хранилища DWH и построения BI отчетности на его основе.

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

Проблемы, которые возникают на этапе построения DWH

Грязные данные на входе

При подключении источников на тестовых примерах, зачастую, мы имеем чистые, практически «подготовленные» данные, однако в первые же дни реальных данных мы практически всегда видим, насколько они на самом деле «грязные». Что делать в таких случаях:

  1. Проверка входных данных: Введение дополнительных проверок данных на этапе загрузки в ETL для выявления и обработки аномалий.
  2. Определение формата данных на вход: Разработка и документирование стандартов для входных данных, включая форматы даты, времени, числовых значений и т.д.
  3. Обработка исключений для грязных данных: Создание правил и алгоритмов для обработки данных, которые не соответствуют стандартам, включая удаление, исправление или замену данных.
  4. Договоренность с Заказчиком по обработке сценариев отсутствия данных: Определение правил для заполнения пропусков в данных, таких как использование предыдущих значений, интерполяция или прогнозирование.
  5. Определение принципов доливки данных за пропущенные дни: Разработка механизмов для автоматического добавления данных за пропущенные дни на основе имеющихся данных или внешних источников.

Отсутствие данных

При общении с Заказчиком, необходимо условиться получать данные в ежедневном формате в определенное время. Но что делать, если наступили нужные день и время получения данных, а их все нет. И через 3 часа нет, и даже на следующий день. Как поступать? Наша система должна будет показывать на дашбордах что-то, или не должна… Теперь нужно определять и эти потенциальные случаи.

  1. Пометки в строках данных: Введение специальных меток или флагов для обозначения отсутствующих данных, таких как "NULL" или "N/A".
  2. Принципы «доливки» данных за пропущенные дни: Разработка алгоритмов для автоматического заполнения пропусков в данных на основе исторических данных, трендов или других источников.
  3. Согласование с Заказчиком: Определение правил и условий для «доливки» данных, включая ее частоту и методы заполнения.

Проблемы, возникающие при создании Табулярной модели в SSAS

В общем, критически важно проследить связи между витринами, поскольку табулярная модель всегда планируется к ее широкому использованию в разных дашбордах: это позволяет оптимизировать время корректировки данных во всех отчетах сразу, при такой необходимости. Также важно настроить подключение Power BI непосредственно к Табулярной модели из SSAS в режиме «живого» подключения (Direct Query). Это гарантирует наличие самых свежих данных в отчете на "сейчас". Данная модель хороша тем, что изменения в данных можно реализовать внутри неё, не трогая дашборд. А отчет получит уже изменённые актуальные данные – это приводит к ускорению разработки в случае правок и, если на основе данной табулярной модели построены более чем 1 дашборд, все отчеты будут исправлены за одну итерацию, без дополнительной разработки каждого из дашбордов.

Невозможность создания новых/доработок DAX-мер внутри самого Power BI.

  1. Использование Tabular Editor: Специальная программа для добавления новых DAX-мер и работы с набором данных.
  2. Использование программы DAX-Studio: Инструмент написания метрик (точнее – мер на лексиконе Power BI и DAX в целом), который помогает в разработке сложных метрик.

Проблемы на этапе отрисовки визуальной части дашбордов в Power BI

Установка неких «маячков» — интервалов оценок/метрик с положительными либо отрицательными результатами. Обычно такие критичные оценки отображаются в зелёных либо красных оттенках. На «визуале» это действительно помогает более быстро реагировать на возникновение проблемы в работе компании. Здесь важной особенностью Power BI является возможность использования нестандартных визуальных элементов, как своих разработок, так и open source визуальных решений, которые можно найти на форумах по Power BI.

Отсутствие стандартных решений по «визуалу» по требованиям Заказчика.

  1. Поиск альтернативных визуальных элементов: Использование нестандартных визуальных элементов, как своих разработок, так и open source визуальных решений, которые можно найти на форумах по Power BI.
  2. Создание собственных визуальных элементов: Разработка собственных визуальных элементов, которые соответствуют требованиям Заказчика.
  3. Общение с профильным сообществом на форумах: Поиск лучших практик решения аналогичных задач и использование опыта других пользователей.

Проблемы производительности

Регулярный мониторинг производительности DWH и дашбордов для выявления узких мест и оптимизации запросов позволяет определить 3 проблемы:

Низкая производительность SQL-запросов к базе данных.

Длительное время отклика дашбордов.

Высокая нагрузка на сервер.

Среди вариантов решений выделяется следующее:

  1. Оптимизация запросов: Использование инструментов для профилирования запросов и оптимизации SQL-кода.
  2. Кэширование данных: Введение механизмов кэширования данных для ускорения повторных запросов.
  3. Масштабирование инфраструктуры: Увеличение вычислительных мощностей сервера или использование облачных решений для обработки больших объемов данных.
  4. Использование индексов: Создание и поддержка индексов для ускорения выполнения запросов. Важно не переусердствовать с этим и всегда проверять необходимость введения каждого конкретного индекса, убеждаясь в том, что он действительно будет использоваться.
  5. Мониторинг и настройка ресурсов: Регулярный мониторинг использования ресурсов и настройка параметров сервера для оптимальной работы.

Проблемы на этапе обучения и поддержки пользователей

После того как отчеты готовы и настроены на взаимодействие с пользователями, возникают следующие моменты:

Недостаток знаний у пользователей.

Непонимание принципов работы DWH и дашбордов.

Технические проблемы при работе с системой.

Помощники в решении данных проблем:

  1. Обучающие материалы: Разработка и предоставление подробных инструкций и руководств по работе с DWH и Power BI.
  2. Вебинары и тренинги: Проведение обучающих вебинаров и тренингов для сотрудников.
  3. Техническая поддержка: Организация круглосуточной технической поддержки для решения возникающих проблем.
  4. Документация: Создание и поддержание актуальной документации по системе.
  5. Обратная связь: Сбор и анализ обратной связи от пользователей для улучшения системы.

На этом краткий экскурс по проблемам, возникающим на практике на проектах, связанных с реализацией BI отчетности (с помощью Power BI) в комплексе с разработкой DWH, предлагаю завершить. Все кейсы – реальные, пройденные мной. Надеюсь, что в чем-то смогу помочь людям, имеющим аналогичные «боли».

💻 Библиотека программиста
Больше полезных материалов вы найдете на нашем телеграм-канале «Библиотека программиста»

Комментарии

ВАКАНСИИ

Добавить вакансию
Разработчик C++
Москва, по итогам собеседования

ЛУЧШИЕ СТАТЬИ ПО ТЕМЕ