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!The Power BI Data Visualization World Championships is back! Get ahead of the game and start preparing now! Learn more
Hello,
I am trying to see if it's possible to increment a variable within an each function.
#"Table With EventKey" = Table.AddColumn(#"OriginalData", "EventKeyTable", each let
AllData = [Custom],
Counter = 0,
AddToCounter = () => Counter = Counter +1,
PrevRowComparison =
Table.AddColumn(AllData, "EventKey",
(x) =>
let
Val = if x[PrevEventNo] = x[EventNo] then null else AddToCounter()
in
Counter )
in PrevRowComparison)
How would I go about creating and implementing a function that will increase the Counter value and then I can retrieve the counter value to place into the row?
I would like the output to be something like the image show below.
| Index | EventNo | PrevEventNo | EventKey |
| 0 | 1 | 1 | 0 |
| 1 | 1 | 1 | 0 |
| 2 | 3 | 1 | 1 |
| 3 | 3 | 3 | 1 |
| 4 | 3 | 3 | 1 |
| 5 | 4 | 3 | 2 |
| 6 | 4 | 4 | 2 |
| 7 | 1 | 4 | 3 |
| 8 | 3 | 1 | 4 |
Solved! Go to Solution.
NewStep=Table.FromRecords(List.Accmulate(Table.ToRecords(PreviousStepName),{{},0},(x,y)=>let a=x{1}+Byte.From(y[EventNo]<>y[PrevEventNo]) in {x{0}&{y&[EventKey=a]},a}){0})
If anyone is interested, using @wdx223_Daniels solution. I did the following since I have nested tables.
#"Table With EventKey" = Table.AddColumn(#"OriginalData", "EventKeyTable", each let
AllData = [Custom],
NewStep=Table.FromRecords(List.Accumulate(Table.ToRecords(AllData),{{},0},(x,y)=>let
a=x{1}+Byte.From(y[EventNo]<>y[PrevEventNo]) in {x{0}&{y&[EventKey=a]},a}){0})
in NewStep)
NewStep=Table.FromRecords(List.Accmulate(Table.ToRecords(PreviousStepName),{{},0},(x,y)=>let a=x{1}+Byte.From(y[EventNo]<>y[PrevEventNo]) in {x{0}&{y&[EventKey=a]},a}){0})
The Power BI Data Visualization World Championships is back! Get ahead of the game and start preparing now!
Check out the November 2025 Power BI update to learn about new features.