Forum Discussion

Anonymous's avatar
Anonymous
Not applicable
7 years ago
Solved

DAX if statement syntax error

I am new to Power BI ... I am tyrying to insert a new custom column into a table in the Query Editor. The Column should extract data from an excisting column based on an "IF" Statement with an "CONTAINS" statement embeded in it. 

 

The syntax I've used is

=IF (CONTAINS([Content],"SHOWS"),"SHOWS",IF (OR([Content]="DRY","WATER"),"DRY","HC"))

 

I get a message stating that "No syntax errors have been detected" however when I "OK" the function I get a new message stating

"Expression.Error: The name 'IF' wasn't recognized. Make sure it's spelled correctly"

 

Not sure what I'm doing wrong... any help?

  • Anonymous Please note "Power Query" expressions are case sensitive.  "IF" not same as "if", please correct the all keywords in your expression.

6 Replies

  • PattemManohar's avatar
    PattemManohar
    Community Champion

    Anonymous Please try this..

     

    =IF (CONTAINS(TableName,[Content],"SHOWS"),"SHOWS",IF ([Content] IN {"DRY","WATER"},"DRY","HC"))

    Note - CONTAINS will return TRUE if there is any row in the table that contains SHOWS in the Content field. Not sure whethere you want that behaviour or looking for searching in each row then try this

     

    IF(SEARCH("SHOWS",[Content],1,0)>0,"SHOWS",IF(Test140[Content] IN {"DRY","WATER"},"DRY","HC"))

     

    • Anonymous's avatar
      Anonymous
      Not applicable

      I've tried both... and although there are no syntax error detected I still getr the message "Expression.Error: The name 'IF' wasn't recognised....."

       

      Do I need to specify the Table name in the formula, seeing as this is a given

       

      • LivioLanzo's avatar
        LivioLanzo
        Solution Sage

        Anonymous

         

        looks like you're using Power Query and not DAX

         

        try this:

         

        = if Text.Contains([Conent],"SHOWS") then "SHOWS" else if List.Contains({"DRY","WATER"},[Content]) then "DRY" else "HC"