Forum Discussion
Split column where ",*"
hello, does anyone know how I could split column where I have string ",t" (that is a comma and no space before next character).
Here the "t" is an example, the letters vary.
Example:
"sports includes football, tennis,badminton"
I would like new column for "badminton". The delimiter is comma and no space before the "b". The sports vary but the constant is comma and no space. I hoped I could use a wildcard delimiter like ",*" but this does not work.
Is this possible?
Many thanks,
Hi adavid999
Place the following M code in a blank query to see the steps:
let Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WKi7ILyopVsjMS84pTUktVkjLzy9JSszJ0VEoSc3LyyzWSUpMyc3MK8nPU4rVIUJ5RmJeCkhAKTYWAA==", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Col1 = _t]), #"Changed Type" = Table.TransformColumnTypes(Source,{{"Col1", type text}}), #"Split Column by Character Transition" = Table.SplitColumn(#"Changed Type", "Col1", Splitter.SplitTextByCharacterTransition({","}, (c) => List.Contains({"a".."z", "A".."Z" }, c)), {"Col1.1", "Col1.2"}) in #"Split Column by Character Transition"Please mark the question solved when done and consider giving a thumbs up if posts are helpful.
Contact me privately for support with any larger-scale BI needs, tutoring, etc.
Cheers
3 Replies
- AlB
Community Champion
Hi adavid999
Place the following M code in a blank query to see the steps:
let Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WKi7ILyopVsjMS84pTUktVkjLzy9JSszJ0VEoSc3LyyzWSUpMyc3MK8nPU4rVIUJ5RmJeCkhAKTYWAA==", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Col1 = _t]), #"Changed Type" = Table.TransformColumnTypes(Source,{{"Col1", type text}}), #"Split Column by Character Transition" = Table.SplitColumn(#"Changed Type", "Col1", Splitter.SplitTextByCharacterTransition({","}, (c) => List.Contains({"a".."z", "A".."Z" }, c)), {"Col1.1", "Col1.2"}) in #"Split Column by Character Transition"Please mark the question solved when done and consider giving a thumbs up if posts are helpful.
Contact me privately for support with any larger-scale BI needs, tutoring, etc.
Cheers
- AlB
Community Champion
You would have to create a new step with that code, best in the Advanced editor and change #"Changed Type" for the name of your previous step in the query and "Col1" for the name of the column with the data.
If you have share a pbix with your data (or some mock data with the same table structure we will be able to work it out
Please mark the question solved when done and consider giving a thumbs up if posts are helpful.
Contact me privately for support with any larger-scale BI needs, tutoring, etc.
Cheers
- adavid999
Helper V
thank @aib, I see that this works in your example but I am struggling to get it to work on my data. Specifically I am unsure how to apply this to my existing variables. I have no idea about M code.
Is it a case of writing the following in the formula bar and changing the "Col1" names?
= Table.SplitColumn(#"Changed Type", "Col1", Splitter.SplitTextByCharacterTransition({","}, (c) => List.Contains({"a".."z", "A".."Z" }, c)), {"Col1.1", "Col1.2"})
Best,
Adam