Forum Discussion

Sjon1791's avatar
Sjon1791
Regular Visitor
6 years ago
Solved

Calculate active years from a customer

I am trying to calculate the amount of active years for customers.

 

We have different tables like "documents transaction date", "customer" and "sales values" .

 

The Tranaction date table is a calender, Customer is all customer information and both are linked to Sales values where are all transactions.

I can see the Active years in a matrix per year.

Cumulative Distinct Count Until this YTD = TOTALYTD(DISTINCTCOUNT([Related Customer]),'SALES VALUES'[Related Date])

But it is not giving me

Customer  years active.

       A               2

      B                1

       c                 3

Etc.

  • Hi Sjon1791 ,

     

    thank you for the interesting question.

    You can solve this by adding a calculated column to your customer table.

     

    The formula is the following:

    Years active = 
    VAR currentCustomer = CALCULATE(SELECTEDVALUE('CUSTOMERS'[Customer]))
    VAR lastYearActive = CALCULATE(MAX('SALES VALUE'[Related Date]),'SALES VALUE'[Customer]=currentCustomer)
    VAR firstYearActive = CALCULATE(MIN('SALES VALUE'[Related Date]),'SALES VALUE'[Customer]=currentCustomer)
    
    RETURN YEAR(lastYearActive)- YEAR(firstYearActive)

    And here is what it looks like:

     

    Finally, you can also find a Power BI file with an example here.

     

    Let me know if this helps you!

     

    Regards,

     

    LC

    Interested in Power BI templates? Check out my blog at www.finance-bi.com

1 Reply

  • Hi Sjon1791 ,

     

    thank you for the interesting question.

    You can solve this by adding a calculated column to your customer table.

     

    The formula is the following:

    Years active = 
    VAR currentCustomer = CALCULATE(SELECTEDVALUE('CUSTOMERS'[Customer]))
    VAR lastYearActive = CALCULATE(MAX('SALES VALUE'[Related Date]),'SALES VALUE'[Customer]=currentCustomer)
    VAR firstYearActive = CALCULATE(MIN('SALES VALUE'[Related Date]),'SALES VALUE'[Customer]=currentCustomer)
    
    RETURN YEAR(lastYearActive)- YEAR(firstYearActive)

    And here is what it looks like:

     

    Finally, you can also find a Power BI file with an example here.

     

    Let me know if this helps you!

     

    Regards,

     

    LC

    Interested in Power BI templates? Check out my blog at www.finance-bi.com