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))
Другие вопросы по тегам