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

Find everything you need to get certified on Fabric—skills challenges, live sessions, exam prep, role guidance, and more. Get started

Reply
Sjon1791
Regular Visitor

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.

1 ACCEPTED SOLUTION
lc_finance
Solution Sage
Solution Sage

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:

Years Active.png

 

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

View solution in original post

1 REPLY 1
lc_finance
Solution Sage
Solution Sage

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:

Years Active.png

 

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

Helpful resources

Announcements
July 2024 Power BI Update

Power BI Monthly Update - July 2024

Check out the July 2024 Power BI update to learn about new features.

PBI_Carousel_NL_June

Fabric Community Update - June 2024

Get the latest Fabric updates from Build 2024, key Skills Challenge voucher deadlines, top blogs, forum posts, and product ideas.

Top Solution Authors