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

Score big with last-minute savings on the final tickets to FabCon Vienna. Secure your discount

Reply
Joernolav
Frequent Visitor

Finding max of multiple rows for every customer

Hi.

 

I have two tables. One named External_Contact which contains customers and one table named G_MainL which contains invoices  and a column named paydate.

 

They are connectd with columns Kundenr and Contid one-to-many.

 

I need a column in External_Contact that show the last payment date for each customer.

 

I have tried the following for a new column but get an error.

 

last_payment = LOOKUPVALUE(Max(G_MAINL[Paydate]); External_Contact[Kundenr]; G_MainL[Contid])

 

I get the error: " Lookupvalue expects a column reference as argument number 1."

 

what am I doing wrong?

 

Thank you for your help.

1 ACCEPTED SOLUTION
OwenAuger
Super User
Super User

Hi @Joernolav

 

Since you have a relationship between the two tables, you can use this formula as a calculated column in External_Contact:

 

last_payment =
CALCULATE ( MAX ( G_MainL[Paydate] ) )

Since this is calculated within the row context of External_Contact, the CALCULATE results in context transition, effectively adding the current row's customer to the filter context, which in turn filters G_MainL.

MAX ( G_MainL[Paydate] ) is then evaluated over the rows of G_MainL corresponding to that customer.

 

Cheers,

Owen


Owen Auger
Did I answer your question? Mark my post as a solution!
Blog
LinkedIn

View solution in original post

2 REPLIES 2
OwenAuger
Super User
Super User

Hi @Joernolav

 

Since you have a relationship between the two tables, you can use this formula as a calculated column in External_Contact:

 

last_payment =
CALCULATE ( MAX ( G_MainL[Paydate] ) )

Since this is calculated within the row context of External_Contact, the CALCULATE results in context transition, effectively adding the current row's customer to the filter context, which in turn filters G_MainL.

MAX ( G_MainL[Paydate] ) is then evaluated over the rows of G_MainL corresponding to that customer.

 

Cheers,

Owen


Owen Auger
Did I answer your question? Mark my post as a solution!
Blog
LinkedIn

Thank you. That solved the problem.

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.