Forum Discussion

Anonymous's avatar
Anonymous
Not applicable
5 years ago
Solved

Dax Compairing values of text with integer error

Hi Experts

 

I have created 2 measure 

Currentlessprevuous=

Var Red = UNICHAR (9660)

Var Green =UNICHAR (9650)

return

If([c]-[p]>0,Green,Red)

 

Arrow=if([Currentlessprevious]>0,1,0)

When i add the first measure to card visual i get the arrows in the correct direction

 

When I go to the Data Label (formatting pane) and click fx and From CF

Select Rule

Find Arrow measure

My Rule is

If value is 1 Red

If value is 0 Green.

Then I get about error message cannot comparing text values with integer...cannot see what I have done wrong..

 

  • Anonymous's avatar
    Anonymous
    5 years ago

    Hi Anonymous ,

     

    According to my understanding, you want to set 

    c-p>0 : Green Arrow 

    c-p<0:  Red Arrow

    You could try this measure:

    Measure =
    IF ( MAX ( 'Table'[c] ) - MAX ( 'Table'[p] ) > 0, "Green", "Red" )

    And apply it to Conditional Formatting as shown below:

     

    Best Regards,
    Eyelyn Qin
    If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

5 Replies

  • Anonymous you are comparing text and number in this measure because Currentlessprevious is returning a text not the number

     

    Arrow=If([c]-[p]>0,1,0)

     

    Check my latest blog post Compare Budgeted Scenarios vs. Actuals I would  Kudos if my solution helped. 👉 If you can spend time posting the question, you can also make efforts to give Kudos to whoever helped to solve your problem. It is a token of appreciation!

    Visit us at https://perytus.com, your one-stop-shop for Power BI-related projects/training/consultancy.

    • Anonymous's avatar
      Anonymous
      Not applicable

      Hi Parry2k ok, how could I use the text value returned in first measure and use it in my CF formatting..

    • Anonymous's avatar
      Anonymous
      Not applicable

      Or change 

      Currentlessprevuous=

      Var 1 = UNICHAR (9660)

      Var 0 =UNICHAR (9650)

      return

      If([c]-[p]>0,0,1)

  • Anonymous's avatar
    Anonymous
    Not applicable

    Hi Anonymous ,

     

    According to my understanding, you want to set 

    c-p>0 : Green Arrow 

    c-p<0:  Red Arrow

    You could try this measure:

    Measure =
    IF ( MAX ( 'Table'[c] ) - MAX ( 'Table'[p] ) > 0, "Green", "Red" )

    And apply it to Conditional Formatting as shown below:

     

    Best Regards,
    Eyelyn Qin
    If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.