Forum Discussion

Nini1's avatar
Nini1
Frequent Visitor
4 years ago
Solved

Creating Column/Measure depending on variables

Hello everyone,

 

It's not been a long time I'm using Power Bi and need your help to solve this issue.

 

I have the following  data 

IDID2Date1Date2
129/29/202110/30/2021
239/30/202110/30/2021
2410/5/202110/30/2021
31010/5/202111/15/2021
31310/8/202111/15/2021
31511/2/202111/15/2021
4231/31/20215/1/2021
4242/2/20215/1/2021

 

I want to create a column which will be equal to date2 but in specific time period - values that are more then min value of date1 and less than max value of date1. 

 

To clarify, I tried with the formula below. 

 

Time Period = 
VAR MIN_P_ = MIN('Tbl'[Date1])
VAR MAX_P_ = MAX('Tbl'[Date1])
VAR Time_Per = MIN_P_<='Tbl'[Date2]<= MAX_P_
return Time_Per

 

 Just this does not work,it gives me this error: DAX comparison operations do not support comparing values of type True/False with values of type Date. Consider using the VALUE or FORMAT function to convert one of the values.

 

Could you please help to transform and adjust the formula above so that I could get a desired result?

 

Thank you in advance

  • Hi Nini1 ,

     

    You can try below code:-

    Time Period =
    VAR MIN_P_ =
        CALCULATE ( MIN ( 'Dates_range'[Date1] ), ALL ( Dates_range ) )
    VAR MAX_P_ =
        CALCULATE ( MAX ( 'Dates_range'[Date1] ), ALL ( Dates_range ) )
    VAR Time_Per =
        IF (
            AND ( 'Dates_range'[Date2] >= MIN_P_, 'Dates_range'[Date2] <= MAX_P_ ),
            Dates_range[Date2]
        )
    RETURN
        Time_Per

    Ouput:-

     

    Thanks,

    Samarth

     

3 Replies

  • Samarth_18's avatar
    Samarth_18
    Community Champion

    Hi Nini1 ,

     

    You can try below code:-

    Time Period =
    VAR MIN_P_ =
        CALCULATE ( MIN ( 'Dates_range'[Date1] ), ALL ( Dates_range ) )
    VAR MAX_P_ =
        CALCULATE ( MAX ( 'Dates_range'[Date1] ), ALL ( Dates_range ) )
    VAR Time_Per =
        IF (
            AND ( 'Dates_range'[Date2] >= MIN_P_, 'Dates_range'[Date2] <= MAX_P_ ),
            Dates_range[Date2]
        )
    RETURN
        Time_Per

    Ouput:-

     

    Thanks,

    Samarth

     

    • Nini1's avatar
      Nini1
      Frequent Visitor

      Samarth_18  Thank you very much and should I change it when e.g. Date2 is from another table? I should write the code differently, right?