cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
shanipowerbi
Helper III
Helper III

How to Calculate Invoice before Churn

Hi Experts,

 

I need little help, I want to calucate the invoice amount of the customer before churn. I have two tables which connected with unique user id.

 

User ID   Churn Date
12568      03 March 2020
45889      03 March 2020
12155      03 March 2020
12158      03 March 2020
21215      03 March 2020
21515      03 March 2020

2nd Table I have monthly Invoice table
Invoice Date    User ID    Invoive Amount
1 Jan 2020        12568       $100
1 Feb 2020        12568       $90
3 March 2020      12568       $80

In this case I need result for User ID "12568 = $90" means invoice before churn. Even his invoice generated in March 2020. We need to look only churn date and get the value before churn date

 

 

1 ACCEPTED SOLUTION
Greg_Deckler
Super User IV
Super User IV

Perhaps:

 

Before Churn Column in Table 1=
  VAR __UserID = [User ID]
  VAR __ChurnDate = [Churn Date]
  VAR __DateBeforeChurn =
    MAXX(
      FILTER(
        'Table2',
        'Table2'[User ID] = __UserID &&
          'Table2'[Invoice Date] < __ChurnDate
      ),
      [Invoice Date]
    )
RETURN
  MAXX(
    FILTER(
      'Table2',
      'Table2'[User ID] = __UserID && 
        'Table2'[Invoice Date] = __DateBeforeChurn
    ),
    [Invoice Amount]
  )
      

 


---------------------------------------

@ me in replies or I'll lose your thread!!!

I have a NEW book! 
DAX Cookbook from Packt
Over 120 DAX Recipes!




Did I answer your question? Mark my post as a solution!

Proud to be a Super User!




View solution in original post

2 REPLIES 2
Greg_Deckler
Super User IV
Super User IV

Perhaps:

 

Before Churn Column in Table 1=
  VAR __UserID = [User ID]
  VAR __ChurnDate = [Churn Date]
  VAR __DateBeforeChurn =
    MAXX(
      FILTER(
        'Table2',
        'Table2'[User ID] = __UserID &&
          'Table2'[Invoice Date] < __ChurnDate
      ),
      [Invoice Date]
    )
RETURN
  MAXX(
    FILTER(
      'Table2',
      'Table2'[User ID] = __UserID && 
        'Table2'[Invoice Date] = __DateBeforeChurn
    ),
    [Invoice Amount]
  )
      

 


---------------------------------------

@ me in replies or I'll lose your thread!!!

I have a NEW book! 
DAX Cookbook from Packt
Over 120 DAX Recipes!




Did I answer your question? Mark my post as a solution!

Proud to be a Super User!




View solution in original post

Thanks Problem solved Many thanks

Helpful resources

Announcements
MBAS on Demand

2021 Release Wave 2 Plan

Power Platform release plan for the 2021 release wave 2 describes all new features releasing from October 2021 through March 2022.

July 2021 Update 768x460.png

Check it out!

Click here to read more about the July 2021 Updates

Power Query PA Forum 768x460.png

Check it out!

Did you know that you can visit the Power Query Forum in Power BI and now Power Apps

Urdu Hindi D365 Bootcamp 768x460.png

Urdu Hindi D365 Bootcamp

Dont miss our very own April Dunnam’s The Developer Guide to the Galaxy! Find out what the Power Platform has to offer for the traditional developer.

Top Solution Authors
Top Kudoed Authors