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

Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.

Reply
adam_macs
Helper I
Helper I

Calculating dates > 365 days from 3 columns

Hi, I am creating a report that examines CRM leads and the date that there was last an activity (email, phone call, appointment).

 

I would like to create a measure that returns TRUE, FALSE, if the maximum date from the 3 activity date columns (which sit in different tables) is >365 days from Today() return TRUE. And if all three date columns are blank also return TRUE. 

 

I essentially want to filter all the leads that have had no activity on them for greater than a year (with the end purpose being to flag them with the lead owners). Is this possible with my current schema? Or should I create some calculated columns using LOOKUPVALUE?

Leads & their latest activity datesLeads & their latest activity dates

 

Data ModelData Model

 

 

2 ACCEPTED SOLUTIONS

@adam_macs 

You should be creating this calculted column in the kegacyleads table. 

View solution in original post

tamerj1
Super User
Super User

@adam_macs 

Perhaps DATEDIFF returns blank if any of the dates is blank. I think the simple subtraction will do the job

Status =
VAR A =
RELATED ( appointments[creationDate] )
VAR E =
RELATED ( emails[creationDate] )
VAR PH =
RELATED ( phonecalls[creationDate] )
VAR LastActivity =
MAXX ( { A, E, PH }, [Value] )
RETURN
IF ( INT ( TODAY ( ) - LastActivity ) ) < 365, "Active", "Inactive" )

View solution in original post

7 REPLIES 7
tamerj1
Super User
Super User

@adam_macs 

Perhaps DATEDIFF returns blank if any of the dates is blank. I think the simple subtraction will do the job

Status =
VAR A =
RELATED ( appointments[creationDate] )
VAR E =
RELATED ( emails[creationDate] )
VAR PH =
RELATED ( phonecalls[creationDate] )
VAR LastActivity =
MAXX ( { A, E, PH }, [Value] )
RETURN
IF ( INT ( TODAY ( ) - LastActivity ) ) < 365, "Active", "Inactive" )

tamerj1
Super User
Super User

Hi @adam_macs 

Please try

Status =
VAR A =
RELATED ( appointments[creationDate] )
VAR E =
RELATED ( emails[creationDate] )
VAR PH =
RELATED ( phonecalls[creationDate] )
VAR LastActivity =
MAXX ( { A, E, PH }, [Value] )
RETURN
IF ( DATEDIFF ( LastActivity, TODAY (), DAY ) < 365, "Active", "Inactive" )

hi @tamerj1 , it doesn't seem to be picking up the relationship for some reason and returns: 

The column 'appointments[creationDate]' either doesn't exist or doesn't have a relationship to any table available in the current context.

adam_macs_1-1675961542766.png

 

@adam_macs 

You should be creating this calculted column in the kegacyleads table. 

Thats worked! Thankyou. One problem is it is show leads with no dates at all as active. Any ideas on how to sidestep this and show them as inactive?

adam_macs_0-1675962020650.png

@adam_macs 

Status =
VAR A =
RELATED ( appointments[creationDate] )
VAR E =
RELATED ( emails[creationDate] )
VAR PH =
RELATED ( phonecalls[creationDate] )
VAR LastActivity =
MAXX ( { A, E, PH }, [Value] )
RETURN
IF ( DATEDIFF ( COALESCE ( LastActivity, TODAY ( ) ), TODAY (), DAY ) < 365, "Active", "Inactive" )

Unfortunately still feeding as active with that updated code: 

adam_macs_0-1675962411172.png

Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

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

April Fabric Community Update

Fabric Community Update - April 2024

Find out what's new and trending in the Fabric Community.

Top Solution Authors