Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

DIVIDE () производит деление с обработкой ошибки “деление на ноль“. Обработка ошибки заключается в выводе альтернативного результата в случае возникновения ситуации деления на ноль.

Синтаксис

DIVIDE (<делимое число>, <делитель>, <альтернатива>)

где <альтернатива> – значение, которое нужно вывести в случае ошибки деления на ноль (необязательный параметр). По умолчанию, если не указано иное, выводится пустое значение BLANK (). Для этого параметра допускается любое целое число, кроме BLANK.

Пример

Формула ниже вычисляет среднюю цену товара для каждого чека, используя данные о ценах и номерах заказов из таблицы factonlinesales:

Блок кода
Средняя цена товара по чеку = DIVIDE(
            CALCULATE(
                SUM('factonlinesales'[unitprice]),
                REMOVEFILTERS('factonlinesales'),
                SUMMARIZE('factonlinesales', 'factonlinesales'[salesordernumber])
            ), 
            CALCULATE(
                COUNT('factonlinesales'[productkey]),
                REMOVEFILTERS('factonlinesales'),
                SUMMARIZE('factonlinesales', 'factonlinesales'[salesordernumber])
            ), BLANK()
        )

Данная формула состоит из нескольких шагов:

  1. Вычисляется сумма цен всех товаров в чеках без учета фильтров (REMOVEFILTERS). Для этого сначала применяется функция CALCULATE, которая вычисляет сумму цен всех товаров по каждому уникальному номеру заказа (salesordernumber) из таблицы factonlinesales, затем функция REMOVEFILTERS удаляет фильтры, которые могут изменить сумму цен, и возвращает данные без фильтров.

  2. Вычисляется количество товаров в каждом чеке без учета фильтров. Для этого также используется функция CALCULATE с аналогичными параметрами.

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

  4. Значения NULL заменяются Результат деления на ноль заменяется на пустую строку (BLANK()) для обеспечения корректности формулы.

Примечание

Формула не работает, как ожидается, если в заказе несколько строк для одного и того же товара.


Смотрите также

📄 Поддерживаемые функции DAX

Нужна дополнительная помощь?

Свяжитесь с технической поддержкой.