Find everything you need to get certified on Fabric—skills challenges, live sessions, exam prep, role guidance, and more. Get started
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 September 2024 Power BI update to learn about new features.
Learn from experts, get hands-on experience, and win awesome prizes.
User | Count |
---|---|
72 | |
67 | |
42 | |
28 | |
21 |