Forum Discussion

Rjesak's avatar
Rjesak
Helper I
6 years ago
Solved

Calculated column based on two other columns

I've found a number of posts that seem like they should help but I haven't been able to get this to work.

 

I am in the Edit Query section and I select add Custom Column. I want to set the column based on two other column values - COLUMN1 contains 'A' and COLUMN2 contains 'B' then the custom column = 1.

 

This formula:

if Text.Contains([COLUMN1], "A") & Text.Contains([COLUMN2], "B") then 1 else 0

passes the syntax check but each result is an Error:

Expression.Error: We cannot apply operator type & to types logical and logical.

 

I've found some solutions on this board that suggest this should work:

if (Text.Contains([COLUMN1], "A") && Text.Contains([COLUMN2], "B"), 1, 0)

but that doesn't even pass the syntax check (Token literal expected).

 

This shouldn't be this hard so I suspect I'm missing something very simple but I'm completely stuck.

  • Hey, i'm new to the forum, so forgive if the answer is wrong ğŸ˜…

    I've had this error as well when trying to add a condition. If memory serves, replace & by "and"

    Like the following :

    if Text.Contains([COLUMN1], "A") and Text.Contains([COLUMN2], "B") then 1 else 0

     

    Edit : Just to further explain, the "&" in M language serves as a concatenate function, and not like an "AND" function. Since Power Query uses M language, and PBI uses DAX, you might mix them up. 

2 Replies

  • QuangMC's avatar
    QuangMC
    Frequent Visitor

    Hey, i'm new to the forum, so forgive if the answer is wrong ğŸ˜…

    I've had this error as well when trying to add a condition. If memory serves, replace & by "and"

    Like the following :

    if Text.Contains([COLUMN1], "A") and Text.Contains([COLUMN2], "B") then 1 else 0

     

    Edit : Just to further explain, the "&" in M language serves as a concatenate function, and not like an "AND" function. Since Power Query uses M language, and PBI uses DAX, you might mix them up.