cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
Syndicate_Admin
Administrator
Administrator

DATEDIFF function with Filter

Hello all, 

I wanted to calulcate the date difference but with the filter. 

I wrote the following but it doesn't work. 

MEASURE = IF((max(OpportunityBase[StatusCode])=100000023), (DATEDIFF(TODAY(), FIRSTDATE('OpportunityBase'[Close By]), DAY)))

 Basicallly, I want to calculate the datediff between 'Close By' and Today only if Statuscode of the Close by equals 100000023. 

How can I solve this? Please help me 🙏

2 ACCEPTED SOLUTIONS

Accepted Solutions
Syndicate_Admin
Administrator
Administrator

What are you doing with FIRSTDATE()? That is a time intelligence function.

 

This measure will functionally work, but I am not sure it will give you the results are are wanting. You should not use time intelligence functions to do date math. If you are using it intentionally knowing that it invokes context transition, that is fine, otherwise, use MIN() instead, or post back with more info.

Some Measure =
VAR varStartDate =
    TODAY()
VAR varEndDate =
    FIRSTDATE( 'OpportunityBase'[Close By] )
RETURN
    IF(
        MAX( OpportunityBase[StatusCode] ) = 100000023,
        DATEDIFF( varStartDate, varEndDate, DAY )
    )

 

View solution in original post

Syndicate_Admin
Administrator
Administrator

@UCHKANA 

 

Try the following to see if it works:


Measure Name = 
VAR _max = MAX( OpportunityBase[StatusCode] )
VAR _date = FIRSTNONBLANK( 'OpportunityBase'[Close By] , 1)
RETURN
IF ( _max = 100000023 ,
DATEDIFF( TODAY(), _date , DAY ) ,
BLANK()
)

 

View solution in original post

4 REPLIES 4
Syndicate_Admin
Administrator
Administrator

What are you doing with FIRSTDATE()? That is a time intelligence function.

 

This measure will functionally work, but I am not sure it will give you the results are are wanting. You should not use time intelligence functions to do date math. If you are using it intentionally knowing that it invokes context transition, that is fine, otherwise, use MIN() instead, or post back with more info.

Some Measure =
VAR varStartDate =
    TODAY()
VAR varEndDate =
    FIRSTDATE( 'OpportunityBase'[Close By] )
RETURN
    IF(
        MAX( OpportunityBase[StatusCode] ) = 100000023,
        DATEDIFF( varStartDate, varEndDate, DAY )
    )

 

Syndicate_Admin
Administrator
Administrator

@UCHKANA 

 

Try the following to see if it works:


Measure Name = 
VAR _max = MAX( OpportunityBase[StatusCode] )
VAR _date = FIRSTNONBLANK( 'OpportunityBase'[Close By] , 1)
RETURN
IF ( _max = 100000023 ,
DATEDIFF( TODAY(), _date , DAY ) ,
BLANK()
)

 

Omggg. It totally worked! Thank you soo much! ❤️

And it worked too! Thank you so much! I appreciate it! ❤️

Helpful resources

Announcements
PA Virtual Workshop Carousel 768x460.png

Register for a Free Workshop

This training provides practical hands-on experience in creating Power Apps solutions in a full-day of instructor-led App creation workshop.

Microsoft Build 768x460.png

Microsoft Build is May 24-26. Have you registered yet?

Come together to explore latest innovations in code and application development—and gain insights from experts from around the world.

May UG Leader Call Carousel 768x460.png

What difference can a User Group make for you?

At the monthly call, connect with other leaders and find out how community makes your experience even better.

Top Solution Authors
Top Kudoed Authors
Users online (1,864)