Power BI is turning 10! Tune in for a special live episode on July 24 with behind-the-scenes stories, product evolution highlights, and a sneak peek at what’s in store for the future.
Save the dateEnhance your career with this limited time 50% discount on Fabric and Power BI exams. Ends August 31st. Request your voucher.
Hi,
Hoping there's a simple solution to this. I have a CSV with a column containing one or more names separated by spaces. Every name is firstname and lastname but there could be between one or a hundred names in a field. I want to split into one row per name. Can't figure out splitting by every second space, or alternately inserting a delimiter(|) into every second space making a simple split by delimiter.
Input:
JANCY LI |
JANCY LI JANCY LI |
JULIE SUN JAMES BLUNT JULIE SUN JULIE SUN |
Output:
JANCY LI |
JANCY LI |
JANCY LI |
JULIE SUN |
JAMES BLUNT |
JULIE SUN |
JULIE SUN |
Solved! Go to Solution.
split = Table.TransformColumns(
input_table,
{"names_column", (x) =>
List.Transform(
List.Split(Text.Split(x, " "), 2),
(w) => Text.Combine(w, " ")
)}
),
exp = Table.ExpandListColumn(split, "names_column")
Hi @JuiceNZ, similar approach here:
Restult
let
Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45W8nL0c45U8PFUitVBcBRQRUN9PF0VgkP9gMK+rsEKTj6hfiEKSKIwllJsLAA=", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Column1 = _t]),
Ad_Split = Table.AddColumn(Source, "Split", each List.Transform(List.Split(Text.Split([Column1], " "), 2), (x)=> Text.Combine(x, " ")), type list),
Combine = Table.FromList(List.Combine(Ad_Split[Split]), Splitter.SplitByNothing(), type table[Column1=text])
in
Combine
split = Table.TransformColumns(
input_table,
{"names_column", (x) =>
List.Transform(
List.Split(Text.Split(x, " "), 2),
(w) => Text.Combine(w, " ")
)}
),
exp = Table.ExpandListColumn(split, "names_column")
Check out the July 2025 Power BI update to learn about new features.