Forum Discussion
IF with text and numbers
- 7 years ago
OK, so first let's talk about the syntax first
What works for you is this:
IF ( VALUE ( 'PowerBI'[SLA Alert] ) > 2,, 1,, 1 )
the thing is '2,' is atually the same as '2.' for me, or how '2,0' would be for you
IF ( VALUE ( 'PowerBI'[SLA Alert] ) > 2,, 1,, 1 )
the red commas are a decimal separator, the blue ones are list separator. That's why this should work as well:
IF ( VALUE ( 'PowerBI'[SLA Alert] ) > 2,0, 1,0, 1 )
As you use modified English settings, I'd suggest using the default option for decimal - the dot '.' and comma as list separator
now the logical problem with this IF (I will use '.' as decimal separator to make it more clear)
IF ( VALUE ( 'PowerBI'[SLA Alert] ) > 2., 1., 1 )
it returns '1.' for TRUE and '1' for FALSE. Which is always 1 with whatever is the formatting in your column. You need to change one of the '1' to something that you want to see, like I posted earlier:
Test = IF ( ISBLANK ( PowerBI[DueBy] ), BLANK (), IF ( ISERROR ( VALUE ( PowerBI[SLA Alert] ) ), BLANK (), IF ( VALUE ( 'PowerBI'[SLA Alert] ) > 2 , 2 , 1 ) ) )'2' for TRUE and '1' for FALSE
hmm, I guess if both your decimal sign and list separator are set to comma your syntax would be correct. and if that's your setting then anything can be the text identifier, so no surprise the " give error
if that's the case (although I'm not sure OS would allow such risky setup) this syntax should work
Test = IF (
ISBLANK ( PowerBI[DueBy] ),
BLANK (),
IF (
ISERROR ( VALUE ( PowerBI[SLA Alert] ) ),
BLANK (),
IF ( VALUE ( 'PowerBI'[SLA Alert] ) > 2 , 2 , 1 )
)
)
it returns 2 for >2 and 1 for <=2