Как рассчитать сумму продажи за тот же день в предыдущем году с использованием DAX (например: воскресенье 01 июля 2012 года против 03 июля 2011 года) - PullRequest
0 голосов
/ 02 мая 2019

Цель расчета состоит в том, что мы хотим найти сумму продажи за тот же день выбранной даты по сравнению с предыдущим годом.В качестве примера я хотел бы видеть сумму продажи на дату воскресенье 01 июля 2012 года.Тот же день предыдущего года - воскресенье, 3 июля 2011 года.Другой пример - вторник, 30 апреля 2019 года, дата предыдущего года - 01 мая 2019 года.

. Таким образом, когда пользователь выбирает дату, предположим, 01 июля 2012 года, мы получаем две суммы продажи текущего года, равные19703.4831 {сумма всех продаж в [AdventureWorksDW2017]. [Dbo]. [FactInternetSales] где Дата заказа = '20120701'} и 28041.32 {Дата заказа = '20110703'}

Я создал две меры:

SaleByDay;

SaleByDay:= Calculate(
                                SUM(FactInternetSales[SalesAmount])
                    )

SaleByDayPreviousYear;

SaleByDayPreviousYear:=

var MonitorDate = if (
                    WEEKDAY(DATEADD( DimDate[FullDateAlternateKey],-1, Year)) <= WEEKDAY(DATEADD(DimDate[FullDateAlternateKey], 0, Year)), 
                    DATEADD(DATEADD(DimDate[FullDateAlternateKey],-1, Year), WEEKDAY(DATEADD(DimDate[FullDateAlternateKey], 0, Year))-WEEKDAY(DATEADD(DimDate[FullDateAlternateKey],-1, Year)), Day), 
                    DATEADD(DATEADD(DimDate[FullDateAlternateKey],-1, Year), 7 + WEEKDAY(DATEADD(DimDate[FullDateAlternateKey], 0, Year))-WEEKDAY(DATEADD(DimDate[FullDateAlternateKey],-1, Year)), Day)
                )
return(
        CALCULATE(
                    SUM(FactInternetSales[SalesAmount]), 
                    DATESBETWEEN(
                                    DimDate[FullDateAlternateKey],
                                    MonitorDate,
                                    MonitorDate
                    )
        )

)

Я ожидал получить результат

19703.4831 {сумма всех продаж в сумме[AdventureWorksDW2017]. [Dbo]. [FactInternetSales] и 28041.32 {Дата заказа = '20110703'}, когда пользователь вводит дату как 01-июль-2012.

enter image description here

...