Не рекомендуется: преобразование BLANK в значения
В качестве моделиатора данных при написании выражений мер могут возникнуть случаи, когда не удается вернуть понятное значение. В таких случаях вы можете заманить возврат значения (например, ноль). Мы рекомендуем тщательно определить, является ли этот дизайн эффективным и практическим.
Рассмотрим следующее определение меры, которое явно преобразует результаты BLANK в ноль.
Sales (No Blank) =
IF(
ISBLANK([Sales]),
0,
[Sales]
)
Рассмотрим другое определение меры, которое также преобразует результаты BLANK в ноль.
Profit Margin =
DIVIDE([Profit], [Sales], 0)
Функция DIVIDE делит меру "Прибыль" на меру "Продажи". Если результат равен нулю или ПУСТО, возвращается третий аргумент — альтернативный результат (который является необязательным) . В этом примере, так как нуль передается в качестве альтернативного результата, мера гарантируется всегда возвращать значение.
Эти меры неэффективны и приводят к плохим конструкциям отчетов.
Когда они добавляются в визуальный элемент отчета, Power BI пытается получить все группировки в контексте фильтра. Оценка и получение больших результатов запросов часто приводит к медленной отрисовке отчетов. Каждый пример меры эффективно преобразует разреженное вычисление в плотную, заставляя Power BI использовать больше памяти, чем необходимо.
Кроме того, слишком много групп часто перегружены пользователей отчета.
Давайте посмотрим, что происходит при добавлении меры "Маржа прибыли" в табличный визуальный элемент, группирование по клиенту.
Визуальный элемент таблицы отображает подавляющее количество строк. (На самом деле в модели есть 18 484 клиентов, поэтому таблица пытается отобразить все из них.) Обратите внимание, что клиенты в представлении не достигли каких-либо продаж. Тем не менее, поскольку мера "Прибыль" всегда возвращает значение, они отображаются.
Примечание.
Если в визуальном элементе слишком много точек данных, Power BI может использовать стратегии сокращения данных для удаления или суммирования больших результатов запроса. Дополнительные сведения см. в разделе "Ограничения и стратегии точки данных" по типу визуального элемента.
Давайте посмотрим, что происходит при улучшении определения измерения маржи прибыли. Теперь он возвращает значение только в том случае, если мера "Продажи " не является пустой (или нулевой).
Profit Margin =
DIVIDE([Profit], [Sales])
Визуальный элемент таблицы теперь отображает только клиентов, которые сделали продажи в текущем контексте фильтра. Улучшенная мера дает более эффективный и практический опыт для пользователей отчета.
Совет
При необходимости можно настроить визуальный элемент для отображения всех групп (возвращающих значения или BLANK) в контексте фильтра, включив параметр "Показать элементы без данных ".
Рекомендация
Рекомендуется возвращать меры BLANK, если не удается вернуть понятное значение.
Этот подход к проектированию эффективен, что позволяет Power BI быстрее отображать отчеты. Кроме того, возвращение BLANK лучше, так как визуальные элементы отчета (по умолчанию) устраняют группировки при сводных данных пустыми.
Связанный контент
- Путь Обучение: Использование DAX в Power BI Desktop
- Вопросы? Задайте их в сообществе Power BI.
- Есть предложения? Участие в разработке идей по улучшению Power BI