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
PBI User Groups

Welcome to the User Group Public Preview

Check out new user group experience and if you are a leader please create your group!

MBAS on Demand

Microsoft Business Applications Summit sessions

On-demand access to all the great content presented by the product teams and community members! #MSBizAppsSummit #CommunityRocks

MBAS Attendee Badge

Claim Your Badge & Digital Swag!

Check out how to claim yours today!

Top Solution Authors
Top Kudoed Authors