View My Drafts
Date2 = VALUES('Date'[Date])
TotalSales = SUMX(Sales, Sales[Quantity] * Sales[Unit Price])
TotalSales2 = VAR CurrentDate = IF(HASONEVALUE('Date2'[Date]),SELECTEDVALUE('Date2'[Date]),0) VAR ReportingDate = MAX('Date'[Date]) RETURN CALCULATE( [TotalSales], FILTER( DATESINPERIOD('Date'[Date],CurrentDate,-7,DAY), 'Date'[Date] = ReportingDate ) )
Объясняю код. Для начала создаем две переменных:1) CurrentDate - переменная, которая считывает текущий контекст с поля 'Date2'[Date], если выбрано только одно значение. Иными словами получаем значение выбранной даты2) ReportingDate - переменная, которая считывает дату контекста в строчке визуала таблицы или в нашем примере точки графика. Напомню, что у нас по оси X идут даты из поля 'Date'[Date]Затем с помощью функции CALCULATE мы накладываем фильтр на даты по оси Х - если дата в точке графика в списке CurrentDate-7, то показывай TotalSales, иначе будет пустая мера.Благодаря возможности Power BI скрывать пустые значения мер наш график урезается до дат нужного периода.Для удобства фильтрации дат я еще добавил два slicer с годом и месяцем: