Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Shape the future of the Fabric Community! Your insights matter. That’s why we created a quick survey to learn about your experience finding answers to technical questions. Take survey.

Reply
jxzn
New Member

using if(text.Contains) for multiple conditions in Power Query M

Hi there

 

I am trying to make a custom column by using an if() statement to pass an existing column through more than one text.Contains condition, and then return a string.

 

I have tried the below with no luck:

 

 

 

if text.Contains([Product], "AB") & text.Contains([Product], "CD") then "EF"

 

 

 

and

 

 

 

if text.Contains([Product], "AB" & "CD") then "EF"

 

 

I've found similar questions online but all of the resources I can find are using ><= and integers or are just for a single condition.

 

Any help on a solution would be much appreciated.

Thanks in advance!

1 ACCEPTED SOLUTION
BA_Pete
Super User
Super User

@jxzn 

 

The correct syntax in Power Query would be as follows. Pay very close attention to the capitalisation as M code is entirely case-sensitive:

if Text.Contains([Product], "AB") and Text.Contains([Product], "CD")
then "EF"
else //your escape value goes here, like null or "Error" or similar

 

Pete



Now accepting Kudos! If my post helped you, why not give it a thumbs-up?

Proud to be a Datanaut!




View solution in original post

5 REPLIES 5
kellysolutions
Frequent Visitor

Can Text.Contains accept a variable instead of a literal as its input?

 

e.g. 

if Text.Contains([Product], ColumnValue) or  Text.Contains([Product], "*") then blah blah blah

 

Thank you 

 

Yes, as long as the variable is a text-type scalar.

 

Pete



Now accepting Kudos! If my post helped you, why not give it a thumbs-up?

Proud to be a Datanaut!




v-stephen-msft
Community Support
Community Support

Hi @jxzn ,

 

I agree with @BA_Pete 's solution. Has your problem been solved?

If it is resolved, please mark the helpful reply as an answer, and more people will benefit.

 

 

Best Regards,

Stephen Tao

 

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

Anonymous
Not applicable

Hi Stephen,

 

What about in the case where you have two words in one column and you would like the new column to show both separate by a comma under an specific order?

For instance in one colum you could have sizes "small, medium, large" (but you can have the three words in one string of text inside the column) and you would like to have the three words separated by comma and the last by an "and" like "Small, medium and large".

 

Thank you!

 

Best

 

Alvaro

BA_Pete
Super User
Super User

@jxzn 

 

The correct syntax in Power Query would be as follows. Pay very close attention to the capitalisation as M code is entirely case-sensitive:

if Text.Contains([Product], "AB") and Text.Contains([Product], "CD")
then "EF"
else //your escape value goes here, like null or "Error" or similar

 

Pete



Now accepting Kudos! If my post helped you, why not give it a thumbs-up?

Proud to be a Datanaut!




Helpful resources

Announcements
November Carousel

Fabric Community Update - November 2024

Find out what's new and trending in the Fabric Community.

Dec Fabric Community Survey

We want your feedback!

Your insights matter. That’s why we created a quick survey to learn about your experience finding answers to technical questions.