Forum Discussion
Previous value from one calculated column
- Anonymous3 years ago
AlienSx Thanks for your solutions maybe I am doing someting wrong but there is still Expression.Error: A circular reference was encountered during evaluation. But this works for me :
= List.Transform(List.Skip(List.Accumulate(#"Zmenený typ1"[Rate], {1}, (s,c)=> s & {List.Last(s)/c})), Number.From)
but thanks i appreciate it
Anonymous what you are trying to do is recursive calculations. So you should be using something like this (via List.Accumulate)
= Table.AddColumn(Source, "DEF", (w) => List.Accumulate(List.FirstN(Source[Rate], w[Index]), 1, (s,c) => s/c))or write a recursive function and call it to create DEF column
f_recursive = (x, rates, i, max_i) =>
let
a = x / rates{i}
in if i = max_i then a else @f_recursive(a, rates, i+1, max_i),
DEF = Table.AddColumn(Source, "DEF", (w) => f_recursive(1, Source[Rate], 0, w[Index] - 1))AlienSx Thanks for your solutions maybe I am doing someting wrong but there is still Expression.Error: A circular reference was encountered during evaluation. But this works for me :
= List.Transform(List.Skip(List.Accumulate(#"Zmenený typ1"[Rate], {1}, (s,c)=> s & {List.Last(s)/c})), Number.From)
but thanks i appreciate it