Расчет итоговой прибыли с учетом типа клиента
Рассчитывать прибыль будем как для физических лиц, у которых имеется скидка, указанная в столбце discountamount, так и для юридических лиц, у которых также есть скидка, указанная в столбце bonus.
Используемые данные:
Таблица фактов | Таблица измерений |
---|---|
fact
| dimcustomer
|
Для расчета прибыли для физически лиц, создадим меру Прибыль для физ лиц и введем следующую формулу:
Прибыль для физ лиц =
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" } )
)
В результате мы можем, например, создать следующую диаграмму с использованием созданных мер:
При сложении двух формул, мы получим прибыль с учетом типа клиента:
CALCULATE (
SUMX (fact, fact[salesamount] - fact[discountamount]),
FILTER (dimcustomer, dimcustomer[customertype] IN {"Person"} )
)
+ CALCULATE (
SUMX (fact, fact[salesamount] - fact[bonus]),
FILTER (dimcustomer, dimcustomer[customertype] IN {"Company"} )
)
Смотрите также
Нужна дополнительная помощь?