Join us at FabCon Atlanta from March 16 - 20, 2026, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.
Register now!Vote for your favorite vizzies from the Power BI Dataviz World Championship submissions. Vote now!
Hi!
I want to create column in power query. It is count of previous value from new column / Rate . In first cell we need to strart with 1 as previous value and then continue with privious values.
Is there some way to create this column in power query .
Def= if [Index]=1 then 1/[Rate] else List.Range(Source[Def],[Index]-1,1)/[Rate]
Thank you !
Solved! Go to Solution.
@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
@AlienSx Only first cell is Ok others are with Error
Translation :
Expression.Error: Def table column not found.
Details:
Def
Formula can't find [Def] column in Source table. You either don't have a table named Source or colum named Def in there. Do you still have Zdroj table? Use it instead of Source in the code.
@AlienSx Translation of Source is Zdroj in my language . I thaought that is ok to put there only "Source". I repleace Source with name of table and there is anothr error
Expression.Error: A circular reference was encountered during evaluation.
@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
I completely overlooked that you are trying to create [Def] column with this code 😂 It's not going to work. Give me some time. Taking your numbers into consideration overflow comes sooner than later.
@AlienSx Hello, there is still Error becaouse of Def column which I am creating . Is tehre some way to sole it ?
what kind of error? Select a cell with error and get back with PQ error message
Hello, @Anonymous List.Range returns you a list, not a single value. Providing that your index column starts with 1, try this instead
Def = if [Index]= 1 then 1/[Rate] else Source[Def]{[Index] - 2}/[Rate]
Vote for your favorite vizzies from the Power BI World Championship submissions!
If you love stickers, then you will definitely want to check out our Community Sticker Challenge!
Check out the January 2026 Power BI update to learn about new features.
| User | Count |
|---|---|
| 16 | |
| 12 | |
| 9 | |
| 7 | |
| 6 |