This time we’re going bigger than ever. Fabric, Power BI, SQL, AI and more. We're covering it all. You won't want to miss it.
Learn moreLevel up your Power BI skills this month - build one visual each week and tell better stories with data! Get started
Hi everybody,
I am facing the problem, that adding " {[Index]-1} " to the formula leads to an error -
Expression.Error: We cannot convert the value 12345 to type List.
Any suggestions how to fix this ?
Solved! Go to Solution.
my bad, sorry
If your index column starts with 1 then use the following code:
if [Index] > 1 then [col2] - my_table[col2]{[Index] - 2} else nullIf your Index column starts with 0 then
if [Index] > 0 then [col2] - my_table[col2]{[Index] - 1} else null
I tried if [Index]>0 while starting the index with 1
it runs through, but everything is "0" again,
in addition 99% seems to be an error.
just for clarification
[Column Name] - #"my_table"[Column Name]{[Index]-1}
or is it
#"my_table" [Column Name] - #"my_table"[Column Name]{[Index]-1} ?
my bad, sorry
If your index column starts with 1 then use the following code:
if [Index] > 1 then [col2] - my_table[col2]{[Index] - 2} else nullIf your Index column starts with 0 then
if [Index] > 0 then [col2] - my_table[col2]{[Index] - 1} else null
thanks you very much
Why is it ?
{[Index] - 2}Another example. Consider list of 2 items: {1000, 2000}:
List.Count({1000, 2000}) = 2
List.Positions({1000, 2000} = {0, 1}
1st item of the list: {1000, 2000}{0} = 1000
2nd item of the list: {1000, 2000}{1} = 2000
Hope you've got the idea.
Positioning in PQ starts from zero. That's why 😉
Hello, @MXSven You are trying to acces field value from previous row. But in your current context (you are staying at the current row) the value of [Invest History.Portfolio] is just a value of that field in the current row. So it's not the whole column of the table (which is list). Add table name like my_table[Invest History.Portfolio]{[Index] - 1]} and let us know if it workes.
I tried as suggested:
[Column Name] - #"my_table"[Column Name]{[Index]-1}
it runs through, but everything is "0",
in addition 99% seems to be an error.
Any ideas ?
Make your Index column start from 0 like in the code below. Or change your formula to "if [Index] > 1 ..." Positioning in PQ lists goes from zero.
let
Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WSlTSUTJUitWJVkoCsozBrGQgywLMSgGyLMGsVJA6oMJYAA==", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [col1 = _t, col2 = _t]),
#"Changed Type" = Table.TransformColumnTypes(Source,{{"col2", Int64.Type}}),
my_table = Table.AddIndexColumn(#"Changed Type", "Index", 0, 1, Int64.Type),
test = Table.AddColumn(my_table, "test_column", each if [Index] > 0 then [col2] - my_table[col2]{[Index] - 1} else null)
in
test
pardon, correction:
Or change your formula to "if [Index] > 0 ..."
Check out the April 2026 Power BI update to learn about new features.
Sign up to receive a private message when registration opens and key events begin.
If you have recently started exploring Fabric, we'd love to hear how it's going. Your feedback can help with product improvements.