Расчет итоговой прибыли с учетом типа клиента

Рассчитывать прибыль будем как для физических лиц, у которых имеется скидка, указанная в столбце discountamount, так и для юридических лиц, у которых также есть скидка, указанная в столбце bonus.

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

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

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

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

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

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

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

  • discountamount – сумма скидки;

  • bonus – бонус (отдельный для каждого клиента).

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

  • customertype – тип клиента (“Person“ – физическое лицо, “Company“ – юридическое).

Для расчета прибыли для физически лиц, создадим меру Прибыль для физ лиц и введем следующую формулу:

Прибыль для физ лиц = 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" } ) )

В результате мы можем, например, создать следующую диаграмму с использованием созданных мер:

diagram(1)(1)(1).png

При сложении двух формул, мы получим прибыль с учетом типа клиента:

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"} ) )

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

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

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

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