Instead of concentrating all those different delimiter-based separated columns into one Column, we dynamically split the Column into many columns from the maximum number of delimiters found for each row using Text. Split, List. Transform, and Table.ExpandListColumn functions. The end goal would be to get the maximum number of parts from different rows and expand them across without incurring any errors or faults in data.
First, use Text.Split([Column], "Delimiter") (e.g., "") to turn the text string into a list. Since some rows have a different number of elements, it is now possible to transform these lists into structured columns by first converting them into records using Record.FromList and assigning dynamic column names such as Part1", "Part2", and so on to that. For example:
Table.TransformColumns(Source, {{"Column", each Record.FromList(Text.Split(_, ","), {"Part1", "Part2", "Part3", ...})}})
When the number of parts cannot be known in advance, scan the data first with List.Max(List.Transform(YourColumnList, each List. Count(Text.Split(_, ",")))) to figure out how many output columns you will generate. Finally, apply the use Table.ExpandRecordColumn to flatten the record into separate columns.
Such methods dynamically and excellently handle row entries with varied delimiter counts, preventing errors from absent components while keeping your data organized and neat for any subsequent transformation or analysis in Power BI.