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

Compete to become Power BI Data Viz World Champion! First round ends August 18th. Get started.

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
Super User
Super User

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
Super User
Super User

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
August Power BI Update Carousel

Power BI Monthly Update - August 2025

Check out the August 2025 Power BI update to learn about new features.

August 2025 community update carousel

Fabric Community Update - August 2025

Find out what's new and trending in the Fabric community.

Top Solution Authors
Top Kudoed Authors