Расчет выручки в разбивке по магазинам и по продажам со скидками
В данном примере используется модель данных, описанная на странице Поддерживаемые функции DAX.
Сначала мы рассчитаем выручку по формуле:
Количество товара в заказе умножить на цену за единицу товара, минус скидка в заказе. Для построчного вычисления будем использовать функциюSUMX:SUMX ( factonlinesales, factonlinesales[unitprice] * factonlinesales[salesquantity] - factonlinesales[discountamount] )где
SUMX– проходит по каждой строке таблицыfactonlinesales, вычисляет выражение для каждой строки, а затем суммирует результаты.factonlinesales– таблица фактов, содержащая данные о каждой онлайн-продаже.factonlinesales[unitprice] * factonlinesales[salesquantity]– вычисляет общую стоимость продажи для каждой строки, умножая цену единицы товара на количество проданных единиц.factonlinesales[discountamount]– отнимает сумму скидки от общей стоимости продажи.
Таким образом, для каждой строки в таблицеfactonlinesalesформула вычисляет прибыль от продажи, умножая цену на количество и затем вычитая скидку. Затем она суммирует все полученные значения, чтобы получить общую прибыль от всех онлайн-продаж с учётом скидок.updated-example.png
Для визуализации используем линейчатую диаграмму. На нее мы выведем нашу меру в разбивке по магазинам:
ex1b.png
Для того, чтобы отобразить данные по продажам, по которым были акции, используем виджет Фильтр:
ex1c.png
Если есть необходимость рассчитать сразу продажи со скидками, без использования виджета «Фильтр», можно воспользоваться следующей формулой:
CALCULATE ( SUMX ( factonlinesales, factonlinesales[unitprice] * factonlinesales[salesquantity] - factonlinesales[discountamount] ), FILTER ( 'dimpromotion', dimpromotion[promotioncategory] IN { "Store" } ) )где
SUMX– выполняет вычисления для каждой строки в таблицеfactonlinesalesи затем суммирует результаты.factonlinesales[unitprice] * factonlinesales[salesquantity] - factonlinesales[discountamount]– вычисляет итоговую сумму для каждой строки в таблицеfactonlinesalesкак произведение цены за единицу (unitprice) и количества проданных единиц (salesquantity), из которого затем вычитается сумма скидки (discountamount).CALCULATE– изменяет контекст фильтрации для вычислений, позволяя применить или изменить фильтры для выражения.FILTER– применяет фильтрацию к таблицеdimpromotion, оставляя только те строки, где значение в столбцеpromotioncategoryравноStore. Таким образом, общая цель этой формулы – вычислить сумму продаж с учетом скидок для всех акций, относящихся к категории "Store".
ex1d.png
Смотрите также
Нужна дополнительная помощь?