Функция DIVIDE и оператор деления (/)

В качестве моделиировщика данных при написании выражения DAX для разделения числителя по знаменателю можно использовать функцию DIVIDE или оператор деления (/ — косую черту).

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

DIVIDE(<numerator>, <denominator> [,<alternateresult>])

Функция DIVIDE была разработана для автоматической обработки случаев деления на нуль. Если альтернативный результат не передается, а знаменатель равен нулю или ПУСТО, функция возвращает значение BLANK. Если альтернативный результат передан, вместо значения BLANK она возвращает его.

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

Пример

Следующее выражение меры создает безопасное разделение, но включает в себя использование четырех функций DAX.

Profit Margin =
IF(
    OR(
        ISBLANK([Sales]),
        [Sales] == 0
    ),
    BLANK(),
    [Profit] / [Sales]
)

Это выражение меры достигает того же результата, но более эффективно и элегантно.

Profit Margin =
DIVIDE([Profit], [Sales])

Рекомендации

Рекомендуется использовать функцию DIVIDE всякий раз, когда знаменатель является выражением, которое может возвращать ноль или ПУСТО.

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

Тщательно рассмотрите, должна ли функция DIVIDE возвращать альтернативное значение. Для мер обычно это лучший дизайн, который они возвращают BLANK. Возвращая ЗНАЧЕНИЕ BLANK, лучше, так как визуальные элементы отчета (по умолчанию) устраняют группировки при сводных данных пустыми. Это позволяет визуальному элементу сосредоточить внимание на группах, где существуют данные. При необходимости в Power BI визуальный элемент можно настроить для отображения всех групп (возвращающих значения или ПУСТО) в контексте фильтра, включив элементы Show без параметра данных .