Цель расчета состоит в том, что мы хотим найти сумму продажи за тот же день выбранной даты по сравнению с предыдущим годом.В качестве примера я хотел бы видеть сумму продажи на дату воскресенье 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.