Рассмотрим пример, в котором прибыль рассчитывается по каждой продаже с учетом различных платежей (например, за аренду помещений). Дополнительные платежи оплачиваются в разное время и не являются заказами. Рассматриваемый период - сентябрь 2022 года.
Используемые данные:
Таблица фактов
Таблица измерений
fact Используемые столбцы:
salesamount – сумма, которую заплатил клиент с учетом количества;
onlinesaleskey – уникальный идентификатор заказа;
transactiontype – тип транзакции (order или payment)
dimdate Используемый столбец:
calendarmonth – год + месяц;
Для проведения расчетов мы воспользуемся следующей формулой:
Далее применяется фильтр, чтобы учитывать только транзакции типа “order" в столбце transactiontype таблицы fact.
Вторая и третья части рассчитывают дополнительные платежи по каждому заказу:
Во второй части формулы используется CALCULATE-функция, которая вычисляет сумму всех платежей за сентябрь 2022 года, относящихся к продажам за этот же период. Функция REMOVEFILTERS используется для того, чтобы убрать все фильтры из таблицы fact. Функция FILTER добавляет фильтры по типу транзакции и месяцу календаря.
В третьей части CALCULATE-функция подсчитывает количество продаж онлайн за сентябрь 2022 года. Функция REMOVEFILTERS убирает все фильтры из таблицы "fact", функция и FILTER добавляет фильтры по типу транзакции и месяцу календаря.
Дополнительные платежи вычитаются из выручки, и мы получаем прибыль по каждой продаже с учетом дополнительных расходов за сентябрь 2022 года: