Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

July 28 - August 9 | Final Round of the Power BI Dataviz World Championships. This is your chance. Learn more

Reply
gabereal
Frequent Visitor

How do you increment a variable within an each function?

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.

 

IndexEventNoPrevEventNoEventKey
0110
1110
2311
3331
4331
5432
6442
7143
8314

 

1 ACCEPTED SOLUTION
wdx223_Daniel
Community Champion
Community Champion

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})

View solution in original post

2 REPLIES 2
gabereal
Frequent Visitor

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)

 

 

wdx223_Daniel
Community Champion
Community Champion

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})

Helpful resources

Announcements
FabCon and SQLCon Barcelona 2026

FabCon & SQLCon – Barcelona 2026

Join us in Barcelona for FabCon and SQLCon, the Fabric, Power BI, SQL, and AI community event. Save €200 with code FABCMTY200.

Fabric Community Sticker Design Challenge Barcelona Carousel

Fabric Community Sticker Challenge - Barcelona 2026

If you love stickers, then you will definitely want to check out our community sticker challenge, Barcelona edition!

July Power BI Update Carousel

Power BI Monthly Update - July 2026

Check out the July 2026 Power BI update to learn about new features.

Power BI DataViz World Championships carousel

Power BI DataViz World Championships - June 2026

A new Power BI DataViz World Championship is coming this June! Don't miss out on submitting your entry.