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

Ключ

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

Рассмотрим пример, в котором прибыль рассчитывается по каждой продаже с учетом различных платежей (например, за аренду помещений). Дополнительные платежи оплачиваются в разное время и не являются заказами. Рассматриваемый период - сентябрь 2022 года.

Используемые данные:

Таблица фактов

Таблица измерений

fact
Используемые столбцы:

  • salesamount – сумма, которую заплатил клиент с учетом количества;

  • onlinesaleskey – уникальный идентификатор заказа;

  • transactiontype – тип транзакции (order или payment)

dimdate
Используемый столбец:

  • calendarmonth – год + месяц;

Для проведения расчетов мы воспользуемся следующей формулой:

Блок кода
CALCULATE (
	SUMX (fact, fact[salesamount] - fact[discountamount]),
    FILTER (fact, fact[transactiontype] IN {“order”})
)
- CALCULATE (
	SUM (fact[payment]),
    REMOVEFILTERS (fact),
    FILTER (fact, fact[transactiontype] IN {“payment”}),
    FILTER (dimdate, dimdate[calendarmonth] = 202209)
)
/ CALCULATE (
	COUNT (fact[onlinesaleskey]),
	REMOVEFILTERS (fact),
	FILTER (fact, fact[transactiontype] IN {“order”}),
	FILTER (dimdate, dimdate[calendarmonth] = 202209)
)

Первая часть формулы суммирует выручку от каждой продажи:

SUMX (fact, fact[salesamount]SUMX (fact, fact[salesamount]

и вычитает сумму скидки:

- fact[discountamount])

Далее применяется фильтр, чтобы учитывать только транзакции типа “order" в столбце transactiontype таблицы fact.

Вторая и третья части рассчитывают дополнительные платежи по каждому заказу:

Во второй части формулы используется CALCULATE-функция, которая вычисляет сумму всех платежей за сентябрь 2022 года, относящихся к продажам за этот же период. Функция REMOVEFILTERS используется для того, чтобы убрать все фильтры из таблицы fact. Функция FILTER добавляет фильтры по типу транзакции и месяцу календаря.

В третьей части CALCULATE-функция подсчитывает количество продаж онлайн за сентябрь 2022 года. Функция REMOVEFILTERS убирает все фильтры из таблицы "fact", функция и FILTER добавляет фильтры по типу транзакции и месяцу календаря.

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


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

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

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

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