PowerBI DAX формула для расчета среднего значения за месяц за предыдущие 2 года - PullRequest
0 голосов
/ 27 октября 2018

У меня есть товар со сроком возврата 180 дней. Я отслеживаю продажи продукта и возвраты (привязанные к тому дню, когда он был продан) в таблице продаж. Например. Если я продам товар 26.10.2017, и он будет возвращен 15.11.2017, столбец «Возвраты» будет заполнен 26.10.2017.

Я хочу рассчитать расчетную прибыль за текущий месяц на основе средней прибыли за тот же месяц за последние 2 года. Например:

Sales       
Date        Sales    Returns
10/21/2018  500 
10/20/2018  120 
10/21/2017  546      254
10/20/2017  185      90
10/21/2016  255      120
10/20/2016  153      20

Агрегированные значения:

Sales   
Month   Sales To Return Ratio
Oct-18  
Oct-17  0.470588235
Oct-16  0.343137255

Среднее значение за октябрь за последние 2 года: 0,424934153

Sales           
Month       Sales To Return Ratio   Expected Returns    
Oct-18                              550.9920983 (Return for prodcuts sold in last 2 Oct / by Sales in Oct of last 2 years) * Sales in Oct 2018
Oct-17      0.470588235     
Oct-16      0.343137255     

Как создать меру, которая дала бы мне ожидаемый доход за любой месяц, взяв среднюю доходность за этот месяц за последние 2 года и умножив ее на продажу за этот месяц.

1 Ответ

0 голосов
/ 27 октября 2018

Если применить изложенную формулу, используя итоги по доходности и продажам, то результат будет 263,45, а не 550,99. То есть

(Return for products sold in last 2 Oct / by Sales in Oct of last 2 years) * Sales in Oct 2018

=(484/1139)*620

Этот результат также можно рассчитать с помощью DAX. Если у вас есть таблица Date, вы можете использовать SamePeriodLastYear и DateAdd для вычисления итогов за последние два года. В следующей формуле используются показатели для суммирования столбцов Продаж и Возврата.

=(
    (
       CALCULATE([Total Returns],SAMEPERIODLASTYEAR(DateTable[Date]))
       +CALCULATE([Total Returns],DATEADD(DateTable[Date],-2,YEAR))
     )
     /
     (
         CALCULATE([Total Sales],SAMEPERIODLASTYEAR(DateTable[Date]))
         +CALCULATE([Total Sales],DATEADD(DateTable[Date],-2,YEAR))
      )
   )
   *[Sum of Sales]

enter image description here

...