запрос мощности вычесть строку выше из строки ниже

Я использую запрос мощности в excel, и я использовал создать настраиваемый столбец для создания нового столбца, мне отчаянно нужно, чтобы этот новый столбец взял значение из второй строки и вычтет его из первой строки, и снова это нужно будет Это происходит для всех строк следующим образом: вторая строка вычитается из первой, третья строка вычитается из второй, а четвертая строка вычитается из третьей. Пожалуйста помоги. Я не понимаю ни dax, ни power query, начал использовать его сегодня, и мне нужно только это одно, чтобы работать

PS. У меня есть индекс, который начинается с одного, называемого индексом, вот код

= Table.AddColumn (# "Столбцы с измененным порядком", "Пользовательские", каждый [# "ODO - Km"] - [# "ODO - Km"])

В данный момент ODO км вычитается из ODO km в той же строке, я хочу, чтобы предыдущий одо км вычитался из следующего ODO km.


person Gustav Coetzee    schedule 22.01.2016    source источник


Ответы (2)


Создайте два индекса: один с отсчетом от 0, называемый Index0, и один с отсчетом от 1, называемый Index1. Объедините запрос с самим собой, присоединившись к Index1 = Index0. Теперь у вас будет дубликат каждого столбца, но они будут смещены на один. Затем вы можете выполнять всю свою арифметику в одном ряду. После этого вы можете удалить все поля результатов, кроме нужных.

person greggyb    schedule 22.01.2016
comment
Дополнение к этому ответу. Вы также можете подумать о создании нового запроса, который ссылается на первый, чтобы вы могли затем выполнить слияние Query1 с Query2 в индексе после того, как вы завершили свою арифметику. Это должно сохранить ваш текущий запрос в чистоте. - person Jay Killeen; 25.01.2016

Вам не нужно этого делать. Вы можете индексировать строки в таблице с помощью индекса. Ключ должен ссылаться на имя предыдущего шага, как показано ниже:

let
    Source = whatever
    addindex = Table.AddIndexColumn(Source , "Index", 0, 1),
    addRelative = Table.AddColumn(addindex, "Previous record", each try if [Index]<>0 then addindex[myField]{[Index]-1}),
in
   addRelative
person Stefan    schedule 20.01.2017