Forum Discussion

TaroGulati's avatar
TaroGulati
Icon for Helper III rankHelper III
5 years ago
Solved

If condition issue

Hello everyone,

 

I am having some difficulty of If condition result.

 

I have created this measure : 

Value condition =
var slicerdate = SELECTEDVALUE(Sheet2[Date])
var cal = IF(slicerdate >=TODAY(), [Value Measure],[value +10 measure])
return cal
 
i am trying to present if selected month is less then today then "value +10 measure" other wise "value measure".

Value Measure = SUM(Sheet2[Value])
 
value +10 measure = SUM(Sheet2[Value +10])
 
 
results are not as per value condition measure. 
 
PBI file is on this link:
 
I am missing something in the if expression?
 
thanks in advance for any suggestion. 
  • TaroGulati , Try like

     

    Value condition = 
    var slicerdate = maxx(ALLSELECTED(Sheet2), Sheet2[Date])
    var cal = IF(slicerdate >TODAY(), sum(Sheet2[Value]),sum(Sheet2[Value +10]))
    return  cal
  • Hi, TaroGulati ;

    Because your slicer is [month name] ,and your measure is SELECTEDVALUE(Sheet2[Date]) ; so it not right. you could modify the measure as follows:

    Value condition = 
    var cal = IF(MONTH(SELECTEDVALUE('Sheet2'[month name])&" 1") >=MONTH(TODAY()), [Value Measure],[value +10 measure])
    return cal

    The final output is shown below:

    Best Regards,
    Community Support Team_ Yalan Wu
    If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

3 Replies

  • Hi TaroGulati 

     

    You have used SELECTEDVALUE(Sheet2[Date]) to compare with TODAY(), but your slicer is limited by month. You could create a new measure with SELECTEDVALUE(Sheet2[Date]) and you will find it returns BLANK

     Your slicer needs to be accurate to days, or use months in conditions for comparison. It is also possible to get the maximum/minimum date of the selected month and compare it to today. Anyway, you need uniform units of comparison.

     

  • TaroGulati , Try like

     

    Value condition = 
    var slicerdate = maxx(ALLSELECTED(Sheet2), Sheet2[Date])
    var cal = IF(slicerdate >TODAY(), sum(Sheet2[Value]),sum(Sheet2[Value +10]))
    return  cal
  • v-yalanwu-msft's avatar
    v-yalanwu-msft
    Icon for Community Support rankCommunity Support

    Hi, TaroGulati ;

    Because your slicer is [month name] ,and your measure is SELECTEDVALUE(Sheet2[Date]) ; so it not right. you could modify the measure as follows:

    Value condition = 
    var cal = IF(MONTH(SELECTEDVALUE('Sheet2'[month name])&" 1") >=MONTH(TODAY()), [Value Measure],[value +10 measure])
    return cal

    The final output is shown below:

    Best Regards,
    Community Support Team_ Yalan Wu
    If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.