cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
Highlighted
RE Regular Visitor
Regular Visitor

M if text contains

I'm fairly new to M and I'm not sure if this functionality is even avaliable but what I'm trying to do is replace text that contians a specific word. For example, In my data set I have the same company listed with different names:

 

Coke 
Coca Cola

Coca-Cola

Coke Co. 

 

What I want is write something that will tell it to change any text that contains "Coca" to "Coca Cola". 

1 ACCEPTED SOLUTION

Accepted Solutions
Community Support Team
Community Support Team

Re: M if text contains

Hi @RE,

 

Here are two options for your reference

 

1. add a conditional column

1.PNG

 

Corresponding M query:

= Table.AddColumn(#"PreviousStep", "Custom", each if Text.Contains([Column1], "Coca") then "Coca Cola" else [Column1] )

2. Replace values on original column directly.

#"Replaced Value" = Table.ReplaceValue( #"PreviousStep" ,each [Column1],each if Text.Contains([Column1], "Coca") then "Coca Cola" else [Column1],Replacer.ReplaceValue,{"Column1"})

Best regards,
Yuliana Gu

Community Support Team _ Yuliana Gu
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
5 REPLIES 5
Mariam1991 Regular Visitor
Regular Visitor

Re: M if text contains

Hi @RE

In power query, you select the column which contains these values ,  with a right click , you choose "replace values"co.PNG

 

 

 

 

monmon_bi Frequent Visitor
Frequent Visitor

Re: M if text contains

If you were to use M language function, there's one called Text.Contains. This will return true or false based on the outcome.

 

For example,

[Custom] = if Text.Contains("Coca", [Company Name]) then "Coca Cola" else [Company Name] 

monmon_bi Frequent Visitor
Frequent Visitor

Re: M if text contains

You can use Text.Contains.

 

For example,

[Custom] = if Text.Contains("Coca", [Company]) then "Coca Cola" else [Company]

Community Support Team
Community Support Team

Re: M if text contains

Hi @RE,

 

Here are two options for your reference

 

1. add a conditional column

1.PNG

 

Corresponding M query:

= Table.AddColumn(#"PreviousStep", "Custom", each if Text.Contains([Column1], "Coca") then "Coca Cola" else [Column1] )

2. Replace values on original column directly.

#"Replaced Value" = Table.ReplaceValue( #"PreviousStep" ,each [Column1],each if Text.Contains([Column1], "Coca") then "Coca Cola" else [Column1],Replacer.ReplaceValue,{"Column1"})

Best regards,
Yuliana Gu

Community Support Team _ Yuliana Gu
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
cbusila Frequent Visitor
Frequent Visitor

Re: M if text contains

What if you have for example a table with 3 columns and the content of the columns can be grouped under certain rules each rules with 3 criterias. I want to create a custom column and put on rows the coresponding rule coding.

 

In order to put the rule I have to check if column 1 from the table contains the criteria 1 of Rule 1, if column 2 from the table contains the criteria 2 of Rule 1 and if column 3 from the table contains the criteria 3 of Rule 1; if all are met then I put the code for rule 1

Please see the print screen attachedCapture.PNG

 

Do you know if there is a way to create a M code for this kind of situation?

 

Thx,

Ciprian