Сравнение версий
Ключ
- Эта строка добавлена.
- Эта строка удалена.
- Изменено форматирование.
DIVIDE ()
– производит деление с обработкой ошибки “деление на 0“ноль“. Обработка ошибки заключается в выводе альтернативного результата в случае возникновения ситуации деления на 0.
Синтаксис:
Смотрите также
Синтаксис
DIVIDE (<делимое число>, <делитель>, <альтернатива>)
где
<альтернатива>
– значение, которое нужно вывести в случае ошибки деления на ноль (необязательный параметр). По умолчанию, если не указано иное, выводится пустое значениеBLANK ()
.
Пример
Формула ниже вычисляет среднюю цену товара для каждого чека, используя данные о ценах и номерах заказов из таблицы factonlinesales
:
Блок кода |
---|
Средняя цена товара по чеку = DIVIDE(
CALCULATE(
SUM('factonlinesales'[unitprice]),
REMOVEFILTERS('factonlinesales'),
SUMMARIZE('factonlinesales', 'factonlinesales'[salesordernumber])
),
CALCULATE(
COUNT('factonlinesales'[productkey]),
REMOVEFILTERS('factonlinesales'),
SUMMARIZE('factonlinesales', 'factonlinesales'[salesordernumber])
), BLANK()
) |
Данная формула состоит из нескольких шагов:
Вычисляется сумма цен всех товаров в чеках без учета фильтров (
REMOVEFILTERS
). Для этого сначала применяется функция CALCULATE, которая вычисляет сумму цен всех товаров по каждому уникальному номеру заказа (salesordernumber
) из таблицыfactonlinesales
, затем функцияREMOVEFILTERS
удаляет фильтры, которые могут изменить сумму цен, и возвращает данные без фильтров.Вычисляется количество товаров в каждом чеке без учета фильтров. Для этого также используется функция
CALCULATE
с аналогичными параметрами.Вычисляется средняя цена товара по каждому чеку с помощью функции DIVIDE. Результат первого шага делится на результат второго шага, чтобы получить среднюю цену товара по каждому чеку.
Значения
NULL
заменяются на пустую строку (BLANK()
) для обеспечения корректности формулы.
Смотрите также
Нужна дополнительная помощь?