Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Be one of the first to start using Fabric Databases. View on-demand sessions with database experts and the Microsoft product team to learn just how easy it is to get started. Watch now

Reply
Qualube
Helper II
Helper II

Active Customers in Financial Year

Hi

 

I have been wrestling with this issue all weekend and it should be pretty straightforward however I must be missing something.

 

I am building a report to show total customers in any financial year & I have already built these first measures successfully:

 

CUST 2016-17 =
            VAR CustomerCreation = FILTER(CUSTTABLE,CUSTTABLE[CREATEDDATETIME] <= DATE(2017,03,31))
            RETURN
            COUNTROWS(CustomerCreation)

 

This brings me back to total number of customers.

 

I then need to establish over that particular financial year how many of these customers actually purchased.

I already have a last sales date measure:

 

Last Sales Date = LASTDATE(SALESLINE[DELIVERY DATE])

 

So my logic is I use this within a date filter to count the respective customers, so I have written:

 

Active Customers =
   VAR TotalActive = CALCULATE(DISTINCTCOUNT(SALESLINE[CUSTACCOUNT]),FILTER(SALESLINE,SALESLINE[DEPOT] = "UK"))
    RETURN
    IF([Last Sales Date],DATESBETWEEN('DATE'[Date],01/04/2016,31/03/2017),TotalActive,BLANK())

 

I must be missing something and I cannot see it as the variable returns all unique customers in the UK, then the IF statement should apply the dates filter and return the DISCTINCTCOUNT stored in the variable or BLANK.

 

Any help would be appreciated.

1 ACCEPTED SOLUTION

Hi

 

I think I have solved it:

 

Active Customers =
   VAR FinalActCust = CALCULATE(DISTINCTCOUNT(SALESLINE[CUSTACCOUNT]), FILTER(SALESLINE,SALESLINE[DELIVERY DATE] >=   DATE(2016,04,01) && SALESLINE[DELIVERY DATE] <= DATE(2017,03,31) && SALESLINE[DEPOT] = "UK"))
    RETURN
    FinalActCust

 

Thanks for the help anyway

View solution in original post

3 REPLIES 3
Stachu
Community Champion
Community Champion

The Active Customers is not proper DAX syntax, can you double check? 

I see 2 issues in the last conditional

IF([Last Sales Date],DATESBETWEEN('DATE'[Date],01/04/2016,31/03/2017),TotalActive,BLANK())

1) [Last Sales Date] is not TRUE/FALSE statement, so IF will always return TRUE (except for 1 date from 1900s)
2) your IF has 4 arguments instead of 3 - Logical test, TRUE  value, FALSE value, the BLANK in the end is not proper

 

The variable TotalActive returns the number of unique customers, not the list of unique customers

what do you want to achieve in the end? do you want to see how many of the [CUST 2016-17] customer bought something during that financial year?



Did I answer your question? Mark my post as a solution!
Thank you for the kudos 🙂

Hi Thanks for the reply

 

Yes in essence I do want to find out how many customers bought in any particular financial year.

 

Appreciate the help.

Hi

 

I think I have solved it:

 

Active Customers =
   VAR FinalActCust = CALCULATE(DISTINCTCOUNT(SALESLINE[CUSTACCOUNT]), FILTER(SALESLINE,SALESLINE[DELIVERY DATE] >=   DATE(2016,04,01) && SALESLINE[DELIVERY DATE] <= DATE(2017,03,31) && SALESLINE[DEPOT] = "UK"))
    RETURN
    FinalActCust

 

Thanks for the help anyway

Helpful resources

Announcements
Las Vegas 2025

Join us at the Microsoft Fabric Community Conference

March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount!

Dec Fabric Community Survey

We want your feedback!

Your insights matter. That’s why we created a quick survey to learn about your experience finding answers to technical questions.

ArunFabCon

Microsoft Fabric Community Conference 2025

Arun Ulag shares exciting details about the Microsoft Fabric Conference 2025, which will be held in Las Vegas, NV.

December 2024

A Year in Review - December 2024

Find out what content was popular in the Fabric community during 2024.