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

Vote for your favorite vizzies from the Power BI Dataviz World Championship submissions. Vote now!

Reply
TonyR
Frequent Visitor

DAX help - Invoices & customers

DAX newbie

 

Hi 

I'm trying to update our customer table to indicate if they have ever purchased from a certain dept which is in the invoice table.

Based on the tables below I'm trying to do this 

 

IsBookCustomer = IF invoices exist and invoices.salesdept = 'Books', Yes, No

Also it would be great to report the last invoice date as well

 

Customers

CustomeID, Name, IsBookCustomer, LastBookInvoiceDate

 

Invoices 

InvoiceDate, SalesDept,InvoiceAmount

 

Thanks in advance

 

Tony

1 ACCEPTED SOLUTION

Ok, well in that case here is what I suggest:

 

First, compute the last date of books purchase (if any) with this calculated column (named LastBookInvoiceDate):

CALCULATE ( MAX ( Invoices[InvoiceDate] , Invoices[Sales Dept] = "Books" )

 

Then, use the column calculated above to check if the customer has ever bought a book:

=IF ( Customers[LastBookInvoiceDate] , "Yes""No" )

 

Obviously you need to have a 1 to Many relationship between Customers and Invoices Tables and the calculated columns are both created from the Customers Table.

 

Feel free to ask any questions if necessary 🙂

 

Regards,

 

Tristan Malherbe

Data & BI Consultant at AZEO

http://www.azeo.com/

View solution in original post

4 REPLIES 4
Datatouille
Solution Sage
Solution Sage

Hi @TonyR,

 

You need to have a relationship (or a link if you prefer) between 'Customers' and 'Invoices' tables to do so. It implies to have a common key (or column) between these 2 tables.

 

Do you also have CustomerId column in your 'Invoices' Table ?

 

 

Hi @Datatouille

My mistake, the tables & fields were simple examples to illustrate the issue. There are common keys linked between the tables, so there is a CustomerID in the Invoice table.

Thx for pointing that out.

Ok, well in that case here is what I suggest:

 

First, compute the last date of books purchase (if any) with this calculated column (named LastBookInvoiceDate):

CALCULATE ( MAX ( Invoices[InvoiceDate] , Invoices[Sales Dept] = "Books" )

 

Then, use the column calculated above to check if the customer has ever bought a book:

=IF ( Customers[LastBookInvoiceDate] , "Yes""No" )

 

Obviously you need to have a 1 to Many relationship between Customers and Invoices Tables and the calculated columns are both created from the Customers Table.

 

Feel free to ask any questions if necessary 🙂

 

Regards,

 

Tristan Malherbe

Data & BI Consultant at AZEO

http://www.azeo.com/

Thx @Datatouille 

Perfect Solution 🙂

Another education 🙂

Thx so much,

 

Tony

 

Helpful resources

Announcements
Power BI DataViz World Championships

Power BI Dataviz World Championships

Vote for your favorite vizzies from the Power BI World Championship submissions!

Sticker Challenge 2026 Carousel

Join our Community Sticker Challenge 2026

If you love stickers, then you will definitely want to check out our Community Sticker Challenge!

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.