DAX - PARALLELPERIOD(), чтобы получить предыдущую минуту
В DAX я хочу получить значение за предыдущую минуту.
Я знаю, что функция PARALLELPERIOD может делать это для даты и года, но не позволяет делать это по минутам.
Есть ли простой способ, которым я могу написать ниже:
[DateTime] = [DateTime] - (1/24/60)
Я новичок в DAX и, следовательно, не уверен, как псевдоним двух "DateTime" в моем состоянии фильтра (один для юниверса функции вычисления, другой ссылается на строку в моем исходном запросе)
Я знаю о EARLIER ()
функция, но я не понимаю, как определить порядок, чтобы быть моим столбцом времени.
Редактировать:
Моя мера выглядит следующим образом:
Total:= SUM('Table'[CountColumn])
Я начал писать меру, чтобы попытаться получить предыдущую минуту:
PreviousMinuteTotal:= CALCULATE (
SUM ( 'Table'[CountColumn] ),
'Table'[DateTime]
= 'Table'[DateTime] - ( 1 / 24 / 60 ) )
Очевидно, что это противоречие, так как дата не может быть как самой, так и равной предыдущему значению, поэтому я пытаюсь понять, как добавить фильтр в вычисление, которое оглядывается назад на одну минуту.
1 ответ
Попробуйте что-то вроде этого:
PreviousMinuteTotal =
VAR PreviousMinute = MAX('Table'[DateTime]) - TIME(0,1,0)
RETURN CALCULATE(SUM('Table'[CountColumn]), 'Table'[DateTime] = PreviousMinute)
У меня возникли некоторые проблемы (возможно, из-за округления?), Поэтому вам, возможно, придется попробовать это для обратной строки. (Я добавил секунду комнаты для маневра.)
RETURN CALCULATE(SUM('Table'[CountColumn]),
'Table'[DateTime] > PreviousMinute - TIME(0,0,1),
'Table'[DateTime] < PreviousMinute + TIME(0,0,1))