Forum Discussion
Measure Repeat Customer by Date
Hi all,
I think I have a somewhat easy question, but I'm having a hard time solving. I'm try to find the count of repeat customers by year, comparing this year to the previous year. For example, in the sample data table John would not count as a repeat customer because it was not in consecutive years. Thank you in advance!
Sample Data
| Year | Customer |
| 1/1/2018 | | John |
| 1/1/2018 | | Sam |
| 1/1/2019 | | Sam |
| 1/1/2019 | | Leon |
| 1/1/2020 | | John |
| 1/1/2020 | | Sam |
| 1/1/2020 | | Leon |
Expected Result
| Year | Repeat Customer from Previous Year |
| 1/1/2018 | | 0 |
| 1/1/2019 | | 1 |
| 1/1/2020 | | 2 |
Hi Index_Match
Try this measure [without Date Table]:
Repeat Customers = VAR _A = ADDCOLUMNS ( Customer, "CY", CALCULATE ( DISTINCTCOUNT ( Customer[Customer] ), FILTER ( ALL ( customer ), YEAR ( Customer[Year] ) = YEAR ( EARLIER ( Customer[Year] ) ) - 1 && Customer[Customer] = EARLIER ( Customer[Customer] ) ) ) + 0 ) RETURN SUMX ( _A, [CY] )output:
If this post helps, please consider accepting it as the solution to help the other members find it more quickly.
Appreciate your Kudos!!
LinkedIn: www.linkedin.com/in/vahid-dm/
4 Replies
- parry2kSuper User
Index_Match solution attached, and core measure is this:
Repeat Customers = VAR __thisYearCustomer = VALUES ( Customer[Customer] ) VAR __lastYearCustomer = CALCULATETABLE ( VALUES ( Customer[Customer] ), PREVIOUSYEAR ('Calendar'[Date] ) ) RETURN COUNTROWS ( INTERSECT ( __thisYearCustomer, __lastYearCustomer ) ) + 0✨ Follow us on LinkedIn and to our YouTube channel
Learn about conditional formatting at Microsoft Reactor
My latest blog post The Power of Using Calculation Groups with Inactive Relationships (Part 1) (perytus.com) I would ❤ Kudos if my solution helped. 👉 If you can spend time posting the question, you can also make efforts to give Kudos to whoever helped to solve your problem. It is a token of appreciation!
⚡ Visit us at https://perytus.com, your one-stop-shop for Power BI-related projects/training/consultancy.
- VahidDMSuper User
Hi Index_Match
Try this measure [without Date Table]:
Repeat Customers = VAR _A = ADDCOLUMNS ( Customer, "CY", CALCULATE ( DISTINCTCOUNT ( Customer[Customer] ), FILTER ( ALL ( customer ), YEAR ( Customer[Year] ) = YEAR ( EARLIER ( Customer[Year] ) ) - 1 && Customer[Customer] = EARLIER ( Customer[Customer] ) ) ) + 0 ) RETURN SUMX ( _A, [CY] )output:
If this post helps, please consider accepting it as the solution to help the other members find it more quickly.
Appreciate your Kudos!!
LinkedIn: www.linkedin.com/in/vahid-dm/- Index_MatchFrequent Visitor
How would the measure need to be adjusted if using a date table?
- parry2kSuper User