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

The Power BI Data Visualization World Championships is back! It's time to submit your entry. Live now!

Reply
Dicken
Continued Contributor
Continued Contributor

Power Query 'scoping' i think

 

Hello I have come across this in a few situations where grouping or working with nested let statements 
in these three example the first does not work, the other two , where i have a variable or a named function do, 
I wondered if anyone can give me more information or a link to a blog or  something on this subject, 
Just interested generally; 

 Table.Group( Source , {"Name"}, {{"Count", each 
 let 
 acc = List.Generate( ()=> [ x = 0 , y = [Unit] {0} ] , 
 each [x] < List.Count( [Unit]   ) , 
 each [ x = [x] + 1, y = [y] + [Unit]  {x} ] , 
 each [y] )
 in acc }} )  = [Unit] not found, 


= Table.Group( Source , {"Name"}, {{"Count", each 
 let unt = [Unit] , 
 acc = List.Generate( ()=> [ x = 0 , y = unt {0} ] , 
 each [x] < List.Count( unt  ) , 
 each [ x = [x] + 1, y = [y] + unt {x} ] , 
 each [y] )
 in acc }} 


= Table.Group( Source , {"Name"}, {{"Count", (z)=> 
 let 
 acc = List.Generate( ()=> [ x = 0 , y = z[Unit] {0} ] , 
 each [x] < List.Count( z[Unit]   ) , 
 each [ x = [x] + 1, y = [y] + z[Unit]  {x} ] , 
 each [y] ) 
in acc }} )



1 ACCEPTED SOLUTION
Shai_Karmani
Resolver II
Resolver II

When you use each inside List.Generate, _ refers to the state record, not the group table. That’s why [Unit] fails  it looks for Unit in the wrong scope. If you bind the column first (e.g., unt = t[Unit]) or pass the table explicitly ((t)=>t[Unit]), the reference resolves correctly.

Here's an interesting reference: The Each Keyword in Power Query – Excelguru

 

Shai Karmani | Data & Analytics

If it helped please mark as resolved & give a kudo so others can find it too.

Let’s connect on LinkedIn

View solution in original post

2 REPLIES 2
Shai_Karmani
Resolver II
Resolver II

When you use each inside List.Generate, _ refers to the state record, not the group table. That’s why [Unit] fails  it looks for Unit in the wrong scope. If you bind the column first (e.g., unt = t[Unit]) or pass the table explicitly ((t)=>t[Unit]), the reference resolves correctly.

Here's an interesting reference: The Each Keyword in Power Query – Excelguru

 

Shai Karmani | Data & Analytics

If it helped please mark as resolved & give a kudo so others can find it too.

Let’s connect on LinkedIn

Dicken
Continued Contributor
Continued Contributor

Thanks for the link will have a read. 

RD

Helpful resources

Announcements
Power BI DataViz World Championships

Power BI Dataviz World Championships

The Power BI Data Visualization World Championships is back! It's time to submit your entry.

January Power BI Update Carousel

Power BI Monthly Update - January 2026

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

FabCon Atlanta 2026 carousel

FabCon Atlanta 2026

Join us at FabCon Atlanta, March 16-20, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.