Don't miss your chance to take the Fabric Data Engineer (DP-600) exam for FREE! Find out how by attending the DP-600 session on April 23rd (pacific time), live or on-demand.
Learn moreNext up in the FabCon + SQLCon recap series: The roadmap for Microsoft SQL and Maximizing Developer experiences in Fabric. All sessions are available on-demand after the live show. Register now
Hi community!I have a column that contains a string in this format:
Type1 Type2 Product "in"Country City
| String |
| Glas Tube A inFrance Lyon |
| Glas Tube B inSpain |
| Glas Tube C |
| Wood Chair A1 Spain Madrid |
Now, based on the first word in the column I would like to apply an individual split of this column:
How would you apply this kind of logic within power query?
Solved! Go to Solution.
Hi @joshua1990
You could give this a go.
let
ColNames = {"Type1", "Type2", "Product", "Country", "City"},
Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45Wcs9JLFYIKU1KVXBUyMxzK0rMS05V8KnMz1OK1UGWdQLKBhckZqKLO4P54fn5KQrOGYmZRQqOhgpgdQq+iSlFmSlKsbEA", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [String = _t]),
SplitCol = Table.SplitColumn(Source, "String", Splitter.SplitTextByWhitespace() ),
TrimStart = Table.TransformColumns(
Table.RenameColumns( SplitCol, List.Zip( { Table.ColumnNames( SplitCol ), ColNames })),
{{"Country", each Text.TrimStart(_, {"i", "n"}), type text }}
)
in
TrimStart
With this result
Hello
Here is the magic code
= Table.AddColumn(#"Renamed Columns1", "New", each Text.Select([Name], {"a".."z"}))
We can subsitute Upper and Lower case or number {0..9}.
Thanks
John Haase
Hi @joshua1990
You could give this a go.
let
ColNames = {"Type1", "Type2", "Product", "Country", "City"},
Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45Wcs9JLFYIKU1KVXBUyMxzK0rMS05V8KnMz1OK1UGWdQLKBhckZqKLO4P54fn5KQrOGYmZRQqOhgpgdQq+iSlFmSlKsbEA", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [String = _t]),
SplitCol = Table.SplitColumn(Source, "String", Splitter.SplitTextByWhitespace() ),
TrimStart = Table.TransformColumns(
Table.RenameColumns( SplitCol, List.Zip( { Table.ColumnNames( SplitCol ), ColNames })),
{{"Country", each Text.TrimStart(_, {"i", "n"}), type text }}
)
in
TrimStart
With this result
Check out the April 2026 Power BI update to learn about new features.
If you have recently started exploring Fabric, we'd love to hear how it's going. Your feedback can help with product improvements.
A new Power BI DataViz World Championship is coming this June! Don't miss out on submitting your entry.
| User | Count |
|---|---|
| 5 | |
| 3 | |
| 3 | |
| 3 | |
| 2 |
| User | Count |
|---|---|
| 7 | |
| 5 | |
| 5 | |
| 5 | |
| 4 |