Рассчитывать прибыль будем как для физических лиц, у которых имеется скидка, указанная в столбце discountamount, так и для юридических лиц, у которых также есть скидка, указанная в столбце bonus.
Используемые данные:
Таблица фактов
Таблица измерений
fact Используемые столбцы:
salesamount – сумма, которую заплатил клиент с учетом количества;
Для расчета прибыли для физически лиц, создадим меру Прибыль для физ лиц и введем следующую формулу:
Прибыль для физ лиц =
CALCULATE (
SUMX ( fact, fact[salesamount] - fact[discountamount] ),
FILTER ( dimcustomer, dimcustomer[customertype] IN { "Person" } )
)
где:
fact[discountamount]– скидка, которая вычитается из общей суммы продаж fact[salesamount];
функция FILTER фильтрует измерения dimcustomer по значению столбца customertype, в данном случае равному Person - т.е. фильтрует только физических лиц.
Таким образом, формула рассчитывает сумму прибыли для всех фактов, относящихся к физическим лицам.
Аналогичным образом создается мера Прибыль для юр лиц с тем отличием, что вместо fact[discountamount] мы будем использовать fact[bomus], а вместо IN {"Person"} будем использовать IN {"Company"}:
Прибыль для юр лиц =
CALCULATE (
SUMX ( fact, fact[salesamount] - fact[bonus] ),
FILTER ( dimcustomer, dimcustomer[customertype] IN { "Company" } )
)
В результате мы можем, например, создать следующую диаграмму с использованием созданных мер:
При сложении двух формул, мы получим прибыль с учетом типа клиента: