cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
Highlighted
paweldm Regular Visitor
Regular Visitor

Last invoice amount

HI,

 

Problem: How can I  calculate last invoice amount?

 

Simplified Model: 

Customer Table with the following column:

CustomerID  (Thera are only unique customers' id)

 

Sales Table with the following columns:

 

CustomerID | InvoiceNo | ProductName | ProductPrice | ProductQuantity| InvoiceAmount | InvoiceDate

 

Customer Tabel is conected to Sales Table with 1-to-many relations.

 

Measure:

#LastOrderDate = LASTDATE(Sales[Date])

 

My tabel report has the following columns:

 

Customer[CustomerID] | #LastOrderDate |

 

I would like to add 1 more measure to the table report  to calculate LastOrderValue.

 

Thx for support!

 

Paweł 

1 ACCEPTED SOLUTION

Accepted Solutions
SqlJason Member
Member

Re: Last invoice amount

What you want is an application of what we call "Last Non Empty" order. There are 4 types of Last Non Empty patterns, and if you want to dive deep into it, I would recommend you to one of my old blogs -

http://sqljason.com/2012/06/lastnonempty-in-tabular-mode-part-1.html

 

If you just want the solution, my understanding is that you want the last non empty order for all customers on that date.

Sales_LNE :=
CALCULATE ( SUM ( Sales[Sales] ), LASTDATE ( Sales[Date] ) )

 This is the first pattern from my blog (and you can also use a filter() instead of the lastdate()). If the last date is different for every customer (which means, if you dont get orders for all customers on each date), you might want to use the second pattern with SUMX.

2 REPLIES 2
SqlJason Member
Member

Re: Last invoice amount

What you want is an application of what we call "Last Non Empty" order. There are 4 types of Last Non Empty patterns, and if you want to dive deep into it, I would recommend you to one of my old blogs -

http://sqljason.com/2012/06/lastnonempty-in-tabular-mode-part-1.html

 

If you just want the solution, my understanding is that you want the last non empty order for all customers on that date.

Sales_LNE :=
CALCULATE ( SUM ( Sales[Sales] ), LASTDATE ( Sales[Date] ) )

 This is the first pattern from my blog (and you can also use a filter() instead of the lastdate()). If the last date is different for every customer (which means, if you dont get orders for all customers on each date), you might want to use the second pattern with SUMX.

paweldm Regular Visitor
Regular Visitor

Re: Last invoice amount

Thank you. The second pattern with SUMX is what I need.
I tried to expolore the LastEverNonEmpty measure for each customer as well but I am not sure if I can apply it to my case.