Я думаю, вы ищете что-то вроде этого:
Работает так:
ALLEXCEPT ( 'Table', 'Table'[ID], 'Table'[Version] )
возвращает таблицу «Таблица», отфильтрованную по [ID] и [Version] текущей строки. Затем функция CALCULATE вычисляет наибольшее значение [Date] из этой отфильтрованной таблицы, которое меньше [Date] в текущей строке.
Функция EARLIER используется для перехода к предыдущему filtercontext, который является rowcontext, для получения значения [Date] из текущей строки.
Таким образом, VAR prevTime - это предыдущий [Date] с теми же [ID] и [Version]. Если предыдущая [Дата] не существует, значение prevTime равно BLANK.
Calculated time =
VAR prevTime =
CALCULATE (
MAX ( 'Table'[Date] ),
ALLEXCEPT ( 'Table', 'Table'[ID], 'Table'[Version] ),
'Table'[Date] < EARLIER ( 'Table'[Date] )
)
RETURN
IF ( ISBLANK ( prevTime ), BLANK (), 'Table'[Date] - prevTime )