Правила хорошего тона при разработке отчётов Power BI

Изображение от <a href="https://ru.freepik.com/free-photo/table-etiquette-elements-with-plant_13404122.htm#query=%D1%81%D0%B5%D1%80%D0%B2%D0%B8%D1%80%D0%BE%D0%B2%D0%BA%D0%B0%20%D1%81%D1%82%D0%BE%D0%BB%D0%B0&position=2&from_view=search&track=ais">Freepik</a>

Чтобы ваш отчёт в PowerBI выглядел профессионально, имел высокую производительность, был понятен и прост при доработках, в ходе его разработки следует придерживаться свода правил, которые рекомендуют профессионалы.

Это, конечно, не является строгой и обязательной рекомендацией, но сильно упростит жизнь и пользователям отчёта, и разработчикам в случае его доработки, копировании, модернизации.

DAX выражения

  • Используйте функцию DIVIDE для деления
  • Избегайте применения функции IFERROR для обработки ошибок
  • В формулах именуйте колонки полностью: ‘Продажи'[Дата продажи]
  • Меры в формулах именуйте без указания таблицы: [_Средний чек]
  • Мера не должна напрямую ссылаться на другую меру
  • Не должно быть несколько мер, которые вычисляют одно и то же
  • Используйте функцию TREATAS вместо INTERSECT для организации виртуальных связей
  • Вычисляемые столбцы должны иметь выражение. Если столбец должен содержать одно значение (типа «А» или 3), хотя не совсем понятно зачем, то такой столбец лучше добавить в Power Query

Форматирование

  • Для столбцов указать тип данных (не должно быть «Общий»)
  • Не суммируйте числовые столбцы (в визуализациях суммирование происходит автоматически)
  • Скрыть столбцы таблицы фактов
  • Скрыть внешние ключи
  • Отметьте первичные ключи
  • Месяц (тип — текст) должен быть отсортирован
  • Проценты должны быть отформатированы с использованием разделителей тысяч и одного знака после запятой.
  • Отформатируйте столбцы флагов как строки значений Да/Нет.
  • В таблице-календаре должен быть столбец текстового типа «Дата».
  • В таблице-календаре должен быть столбец текстового типа «Месяц».
  • колонки, по которым установлены связи, должны иметь целочисленный тип данных.
  • Целые числа должны быть отформатированы с использованием разделителей тысяч и без десятичных знаков.

Модель данных

  • Убедитесь, что между таблицами установлены связи (в модели не должно быть таблиц без связей. Разве что таблица с мерами)
  • Добавьте описание к объектам
  • Удалить источники данных, которые не используются в модели
  • Удалить роли без участников
  • Удалить ненужные столбцы
  • Удалите ненужные меры

Соглашения об именах

  • Используйте CamelCase для скрытых столбцов
  • Имена объектов (таблиц, столбцов, мер) не должны содержать специальные символы
  • Имена объектов (таблиц, столбцов, мер) не должны начинаться или заканчиваться пробелом.
  • Первая буква названия объектов (таблиц, столбцов, мер) должна быть заглавной
  • Названия мер должны начинаться с нижнего подчеркивания
  • Имена виртуальных переменных (в DAX) должны начинаться с двух нижних подчеркиваний

Производительность

  • Избегайте двунаправленных связей или связей «многие ко многим».
  • Избегайте архитектуры схемы «снежинка»
  • Не используйте типы данных с плавающей запятой
  • Ограничить логику безопасности на уровне строк (RLS)
  • Отношения «многие ко многим» должны быть однонаправленными.
  • Минимизируйте преобразования в Power Query
  • Модель данных должна иметь таблицу дат. (Пометить таблицу-календарь, как таблицу дат)
  • Модель в идеале должна быть в режиме «Direct Query» и без агрегирования данных
  • Уменьшить количество вычисляемых столбцов
  • Сократите использование вычисляемых столбцов, использующих функцию RELATED.
  • Сокращение использования вычисляемых таблиц
  • Сократите использование столбцов текстового типа с длинными фразами
  • Отключите создание таблиц дат (в настройках)
  • Удалите лишние столбцы в связанных таблицах.
  • Разделить дату и время в отдельные столбцы
  • Сводные (месячные) данные считать мерами, не включать в таблицы.

Соответствие вашего проекта этим правилам и автоматически исправить ошибки можно с помощью программы Tabular Editor.

Статья подготовлена по материалам Интернета.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *