Поделиться через


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

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

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

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

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

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

Пример

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

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

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

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

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

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

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

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