Чтобы ваш отчёт в PowerBI выглядел профессионально, имел высокую производительность, был понятен и прост при доработках, в ходе его разработки следует придерживаться свода правил, которые рекомендуют профессионалы.
Это, конечно, не является строгой и обязательной рекомендацией, но сильно упростит жизнь и пользователям отчёта, и разработчикам в случае его доработки, копировании, модернизации.
DAX выражения
- Используйте функцию DIVIDE для деления
- Избегайте применения функции IFERROR для обработки ошибок
- В формулах именуйте колонки полностью: ‘Продажи'[Дата продажи]
- Меры в формулах именуйте без указания таблицы: [_Средний чек]
- Мера не должна напрямую ссылаться на другую меру
- Не должно быть несколько мер, которые вычисляют одно и то же
- Используйте функцию TREATAS вместо INTERSECT для организации виртуальных связей
- Вычисляемые столбцы должны иметь выражение. Если столбец должен содержать одно значение (типа «А» или 3), хотя не совсем понятно зачем, то такой столбец лучше добавить в Power Query
Форматирование
- Для столбцов указать тип данных (не должно быть «Общий»)
- Не суммируйте числовые столбцы (в визуализациях суммирование происходит автоматически)
- Скрыть столбцы таблицы фактов
- Скрыть внешние ключи
- Отметьте первичные ключи
- Месяц (тип — текст) должен быть отсортирован
- Проценты должны быть отформатированы с использованием разделителей тысяч и одного знака после запятой.
- Отформатируйте столбцы флагов как строки значений Да/Нет.
- В таблице-календаре должен быть столбец текстового типа «Дата».
- В таблице-календаре должен быть столбец текстового типа «Месяц».
- колонки, по которым установлены связи, должны иметь целочисленный тип данных.
- Целые числа должны быть отформатированы с использованием разделителей тысяч и без десятичных знаков.
Модель данных
- Убедитесь, что между таблицами установлены связи (в модели не должно быть таблиц без связей. Разве что таблица с мерами)
- Добавьте описание к объектам
- Удалить источники данных, которые не используются в модели
- Удалить роли без участников
- Удалить ненужные столбцы
- Удалите ненужные меры
Соглашения об именах
- Используйте CamelCase для скрытых столбцов
- Имена объектов (таблиц, столбцов, мер) не должны содержать специальные символы
- Имена объектов (таблиц, столбцов, мер) не должны начинаться или заканчиваться пробелом.
- Первая буква названия объектов (таблиц, столбцов, мер) должна быть заглавной
- Названия мер должны начинаться с нижнего подчеркивания
- Имена виртуальных переменных (в DAX) должны начинаться с двух нижних подчеркиваний
Производительность
- Избегайте двунаправленных связей или связей «многие ко многим».
- Избегайте архитектуры схемы «снежинка»
- Не используйте типы данных с плавающей запятой
- Ограничить логику безопасности на уровне строк (RLS)
- Отношения «многие ко многим» должны быть однонаправленными.
- Минимизируйте преобразования в Power Query
- Модель данных должна иметь таблицу дат. (Пометить таблицу-календарь, как таблицу дат)
- Модель в идеале должна быть в режиме «Direct Query» и без агрегирования данных
- Уменьшить количество вычисляемых столбцов
- Сократите использование вычисляемых столбцов, использующих функцию RELATED.
- Сокращение использования вычисляемых таблиц
- Сократите использование столбцов текстового типа с длинными фразами
- Отключите создание таблиц дат (в настройках)
- Удалите лишние столбцы в связанных таблицах.
- Разделить дату и время в отдельные столбцы
- Сводные (месячные) данные считать мерами, не включать в таблицы.
Соответствие вашего проекта этим правилам и автоматически исправить ошибки можно с помощью программы Tabular Editor.
Статья подготовлена по материалам Интернета.