RetentionRate = VAR TotalCustomers = SUM(CASE WHEN Name IS NOT NULL AND Email IS NOT NULL THEN 1 ELSE 0 END) VAR UniqueCustomers = DISTINCTCOUNT(Name) VAR TotalEmails = SUM(CASE WHEN Name IS NOT NULL AND Email IS NOT NULL THEN Email ELSE NULL END) VAR UniqueEmails = DISTINCTCOUNT(Email) RETURN IF(TotalCustomers > 0, IF(TotalCustomers > UniqueCustomers, RetentionRate = (TotalCustomers - UniqueCustomers) / UniqueCustomers * 100, 0) ) This measure calculates the total number of customers, unique customers, and total emails for each year. It then computes the retention rate by dividing the number of unique customers by the total number of customers, and adjusts the result if the number of customers is less than the number of unique customers. The result is then returned as a percentage. Note that this measure assumes that each customer is unique, which may not be the case in your data. If some customers have the same email address, they will be counted as the same customer in the calculation of unique customers. If this is not the case, you may need to adjust the measure accordingly.
Hey @Mrxiang Thanks for your comment.
If possible, Could you please add this measure in PBIX file as I have already shared the sample data?
Hi @Sudhir_M1992 ,
What does your data look like?
Sorry for that the information you have provided is not making the problem clear to me. Can you please share more details to help us clarify your scenario?
Please provide me with more details about your table and your problem or share me with your pbix file after removing sensitive data.
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
Thanks Jianboli. Here's the sample data now we have to calculate YoY Retention% of customers.