Forum Discussion
Finding New/Existing Customers
Hi,
I need to create a simple calculated column indicating whether the client account has occured for the first time i.e. "New" or it has occured before i.e. "Existing".
Only the first occurrence need to be considered as "New", the rest of the occurrences, irrespective of the gap in occurrences, should all be considered as "Existing".
I found some related solutions which were pretty confusing. Is there a simple way to accomplish it?
I have attached the sample file below:
Thanks!
Hi,
Try this calculated column formula
=if(CALCULATE(COUNTROWS(Data),FILTER(Data,Data[Account Code]=EARLIER(Data[Account Code])&&Data[Created Date]<EARLIER(Data[Created Date])))=0,"New","Existing")
Hope this helps.
Hi,
That will happen if the date is the Account code appears more than once on the same date. If you want the second instance on the same day to be marked Existing, then there should a column of Time as well. Share the dataset where you also have a Time column.
11 Replies
- Ashish_MathurSuper User
Hi,
Try this calculated column formula
=if(CALCULATE(COUNTROWS(Data),FILTER(Data,Data[Account Code]=EARLIER(Data[Account Code])&&Data[Created Date]<EARLIER(Data[Created Date])))=0,"New","Existing")
Hope this helps.
- AnonymousNot applicable
Hey! I just noticed that there are multiple entries (mostly 2) of "New" for a single account code in many cases.
Anyway that it can be rectified?
Thanks
- Ashish_MathurSuper User
Hi,
I do not know whom you are replying to. Did my solution not work?
- MattAllingtonCommunity Champion
You should not create a column.
Refer to this article. https://www.daxpatterns.com/new-and-returning-customers/
- AnonymousNot applicable
Hey Matt,
Thanks.
I have gone through this article before, but couldn't make it work.
Also it is mandatory for me to create a column as per the requirement I'm given.
Anyway I could do that?
- MattAllingtonCommunity Champion
I don’t have my pc so I can’t look at the file. Assuming there is a 1 to many relationship between customers and sales, and assuming the sales table has one row per shopping event, and assuming that your definition of a new customer is someone’s that has only 1 record in the sales table (Ie a customer that purchased once in 2002 is still “new”) and assuming that every customer in the sales table has at least 1 one transaction, then something like this should work
=if(calculate(countrows(sales))=1,”New”,”Existing”)