Forum Discussion

Anonymous's avatar
Anonymous
Not applicable
5 years ago
Solved

Quick Q: Datesbetween with If statement

I want to use DatesBetween in an IF Statement:

 

=if(DatesBetween(Table[Date], Date(2021,03,09), Date(2021,03,21)),1,0)

 

This won't work because DatesBetween Returns a table of the dates between the range given.

Is there a work around/way to make this work?

I just want to mark the dates 03/09-03/21/21 in my table with a 1.. all other dates with a 0.

  • Hi Anonymous ,

    Try with this code..

     

    Measure =
    IF (
        AND ( Table[Date] >= DATE ( 2021, 03, 09 ), Table[Date] <= DATE ( 2021, 03, 21 ) ),
        1,
        0
    )

     

  • Anonymous's avatar
    Anonymous
    5 years ago

    hi Anonymous try with below measure

    Measure = IF (MAX('Table'[Date])>= DATE ( 2021, 03, 01 )&&MAX(Table[Date]) <= DATE ( 2021, 08, 31 ),1,0)

  • Anonymous's avatar
    Anonymous
    5 years ago

    HI Anonymous,

    You can also use the aggregate function to extract the current date and use the calendar function to generate the date range and use the 'in' operator to compare with them.

    Measure =
    VAR currDate =
        MAX ( Table[Date] )
    VAR dateRange =
        CALENDAR ( DATE ( 2021, 03, 09 ), DATE ( 2021, 03, 21 ) )
    RETURN
        IF ( currDate IN dateRange, 1, 0 )

    Regards,

    Xiaoxin Sheng

4 Replies

  • Anonymous's avatar
    Anonymous
    Not applicable

    hi Anonymous try with below measure

    Measure = IF (MAX('Table'[Date])>= DATE ( 2021, 03, 01 )&&MAX(Table[Date]) <= DATE ( 2021, 08, 31 ),1,0)

  • Angith_Nair's avatar
    Angith_Nair
    Continued Contributor

    Hi Anonymous ,

    Try with this code..

     

    Measure =
    IF (
        AND ( Table[Date] >= DATE ( 2021, 03, 09 ), Table[Date] <= DATE ( 2021, 03, 21 ) ),
        1,
        0
    )

     

  • Anonymous's avatar
    Anonymous
    Not applicable

    HI Anonymous,

    You can also use the aggregate function to extract the current date and use the calendar function to generate the date range and use the 'in' operator to compare with them.

    Measure =
    VAR currDate =
        MAX ( Table[Date] )
    VAR dateRange =
        CALENDAR ( DATE ( 2021, 03, 09 ), DATE ( 2021, 03, 21 ) )
    RETURN
        IF ( currDate IN dateRange, 1, 0 )

    Regards,

    Xiaoxin Sheng

  • Anonymous's avatar
    Anonymous
    Not applicable

    Hi Anonymous,

    Did these suggestions suitable for your scenario? If that is the case, you can consider kudo or accept it to help others who face a similar scenario.
    If they not helps, please share some more detailed information to help us clarify and test your situation.

    Regards,

    Xiaoxin Sheng