Forum Discussion

James_Galis1's avatar
James_Galis1
Helper II
3 years ago
Solved

Invoice with multiple line items

Hi Folks

 

I have created a matrix table that has invoices with visit dates. Some invoices have 1 visit date but many others have multiple visit dates and need assistance with created a calculated column ( see image)


 

This example includes a column that has line item values ( column " Totals" ) and another column that has the invoice amount ( " Inv GST" )

 

The invoice has a value of $440 ( column " Inv GST ") and 4 visit dates with line item values in column " Totals " adds to $556.

 

What i wish to acheive is to add a column that says " Pay Invoice " if sum of the " Totals" ($556) column for that invoice is greater than the invoice amount ( $440) and " Dont Pay" if it is less

 

Thanks in advanced

 

 

  • Anonymous's avatar
    Anonymous
    3 years ago

    Hi James_Galis1 ,

     

    According to your description, here are my steps you can follow as a solution.

    (1) This is my test data.  

    (2) We can create a calculated column.

    Column = 
    var _a=CALCULATE(MAX('Table'[inv gst]),FILTER('Table','Table'[Invoice]=EARLIER('Table'[Invoice])))
    var _b=CALCULATE(SUM('Table'[totals]),FILTER('Table','Table'[Invoice]=EARLIER('Table'[Invoice])))
    return IF(_b>_a,"Dont Pay","Pay")

    (3) Then the result is as follows.

     

    If the above one can't help you get the desired result, please provide some sample data in your tables (exclude sensitive data) with Text format and your expected result with backend logic and special examples. It is better if you can share a simplified pbix file. Thank you.

     

    Best Regards,

    Neeko Tang

    If this post  helps, then please consider Accept it as the solution  to help the other members find it more quickly. 

3 Replies

  • Anonymous's avatar
    Anonymous
    Not applicable

    Hi James_Galis1 ,

     

    According to your description, here are my steps you can follow as a solution.

    (1) This is my test data.  

    (2) We can create a calculated column.

    Column = 
    var _a=CALCULATE(MAX('Table'[inv gst]),FILTER('Table','Table'[Invoice]=EARLIER('Table'[Invoice])))
    var _b=CALCULATE(SUM('Table'[totals]),FILTER('Table','Table'[Invoice]=EARLIER('Table'[Invoice])))
    return IF(_b>_a,"Dont Pay","Pay")

    (3) Then the result is as follows.

     

    If the above one can't help you get the desired result, please provide some sample data in your tables (exclude sensitive data) with Text format and your expected result with backend logic and special examples. It is better if you can share a simplified pbix file. Thank you.

     

    Best Regards,

    Neeko Tang

    If this post  helps, then please consider Accept it as the solution  to help the other members find it more quickly. 

    • James_Galis1's avatar
      James_Galis1
      Helper II

      Thank you for you input

      I changed aroung the if statement from " Dont Pay" to "Pay" to acheive the correct result and then tested by changing the invoice totals for both invoices in power query and works perfectly

      This was exactly the results i was expecting

       

      Thank you