Вычислить длительность между датами в одном столбце(DAX-PQ)

Необходимо вычислить длительность события в секундах, если каждая следующая дата - это конец предыдущей. Пытался с помощью с индексов и сведения состыковать даты в след столбец и применить datediff, но ругается на вложенные данные из обновляемой базы.
по столбу BeginTime


Ответы (1 шт):

Автор решения: Darkitechtor

Если решение с использованием DAX подходит, то я предложил бы рассчитать дополнительный столбец, используя формулу:

Column = 
VAR PreviousRow =
    TOPN(
        1,
        FILTER(
            'Table',
            'Table'[Id] < EARLIER('Table'[Id])
        ),
        [Id], DESC
    )
RETURN
MINX(
    PreviousRow,
    [BeginDate]
)

Она вернет значение BeginDate из предыдущей строки таблицы, отсортированной по Id.

Расчет разницы можно реализовать в дополнительном столбце, но я предложил бы использовать в RETURN более сложную конструкцию:

DATEDIFF(
    'Table'[BeginDate],
    MINX( 
        PreviousRow,
        [BeginDate]
    ),
    second
)
→ Ссылка