Forum Discussion
TBardien
Helper I
6 years agoDAX 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...
- Anonymous6 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) / 60var timeFromQuoting = DATEDIFF(RequestWorkflowHistory[Quoting], RequestWorkflowHistory[Quoted], MINUTE) / 60var QuotingTime = IF(timeFromPending<0,, timeFromQuoting, timeFromPending)return QuotingTimeBest regards
Bruening
- 6 years agoWhen 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.
- 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)
Greg_Deckler
Community Champion
6 years agoWhen 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
Helper I
6 years agoSpaces 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)