Forum Discussion

TBardien's avatar
TBardien
Icon for Helper I rankHelper I
6 years ago
Solved

DAX IF() not working as expected.

I am new to Power BI. I am trying to use the IF(<logical_test>,<value_if_true>[, <value_if_false>]) function.   This is my code: var timeFromPending = DATEDIFF(RequestWorkflowHistory[Quote Pendin...
  • Anonymous's avatar
    Anonymous
    6 years ago

    Yes i think it is the same solution from your other post.

     

    In the first case you got the same problem that Power BI  thinks "0,timeFromQuoting" is one expression. In the second example you have timeFromPending<0,0  (international timeFromPending<0.0) and and only the true case timeFromPending (because the real true case 0 is in the inequality statement). 

     

    So again try the second "," should work

    var timeFromPending = DATEDIFF(RequestWorkflowHistory[Quote Pending Max], RequestWorkflowHistory[Quoted], MINUTE) / 60
    var timeFromQuoting = DATEDIFF(RequestWorkflowHistory[Quoting], RequestWorkflowHistory[Quoted], MINUTE) / 60
    var QuotingTime = IF(timeFromPending<0,, timeFromQuoting, timeFromPending)
    return QuotingTime

     

    Best regards

    Bruening

  • Greg_Deckler's avatar
    Greg_Deckler
    6 years ago
    When I wrote my first book, I had some of these issues when formulas were checked with international settings and I found that putting spaces after my commas in my formulas tended to fix the issues. Basically what was going on from what I could tell is that DAX ends up thinking it is a decimal point because everything is numeric. but when you put a space in, DAX wises up and realizes it is not just all one decimal number.
  • TBardien's avatar
    TBardien
    6 years ago

    Spaces BEFORE the comma seems to do the trick.

    So instead of:

    IF(_time < 0, BLANK(), _time)

    you would make it:

    IF(_time < 0 , BLANK(), _time)