Forum Discussion
Split by comma into row
Hi PijushRoy
Thanks for the solution. I have tried but the word with , that I want to keep still splitting. I have replave value of "," with "#" 2 times and split by row.
I'm not sure what went wrong. Let me repharse the example:
eg: Data I have --> Trust,Happiness, enjoyment and excited,pessimistic, optimistic
Data I want it to be by row:
Trust
Happiness, enjoyment and excited
pessimistic
optimistic
Does the same solutiom applied? Thanks.
Hi NurAmirah_MY
Please share the sample data that you are using in excel format
https://community.fabric.microsoft.com/t5/Community-Blog/How-to-provide-sample-data-in-the-Power-BI-Forum/ba-p/963216
- NurAmirah_MY2 years agoRegular Visitor
Hi PijushRoy
The questions asked in the survey are:
Over the 12 months, what are the topics you would like to learn? Select all that apply
- Foreign exchange
- Pension
- Life Insurance, Takaful and Hibah
- Bonds & Loans
Here are the sample data in Excel format. Let me know if this is sufficient for the testing. Thanks.
Resp_ID Over the 12 months, what are the topics you would like to learn? Select all that apply test01 Foreign exchange,Pension test02 Life Insurance, Takaful and Hibah,Pension test03 Pension,Bonds & Loan test04 Bonds & Loans,Foreign exchange,Pension,Life Insurance, Takaful and Hibah - spinfuzer2 years agoSolution Sage
You can try something like below:
let Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WcssvSs1Mz1NIrUjOSMxLT9UJSM0rzszPU4rViVbyyUxLVfDMKy4tSsxLTtVRCEnMTkwrzVFIzEtR8MhMSsxAUQ1l6zjl56UUK8SUGhgYmSn45CfmFYOlMYV1cFmuQ9BipdhYAA==", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Column1 = _t]), options = { "Foreign exchange", "Pension", "Life Insurance, Takaful and Hibah", "Bonds & Loans" }, #"Changed Type" = Table.TransformColumnTypes(Source,{{"Column1", type text}}), #"Added Custom" = Table.AddColumn(#"Changed Type", "Custom", each let pos = List.RemoveMatchingItems(List.Accumulate(options, {}, (s,c) => s & {Text.PositionOf([Column1], c)}), {-1}) in Splitter.SplitTextByPositions(List.Sort(pos))([Column1])), #"Expanded Custom" = Table.ExpandListColumn(#"Added Custom", "Custom"), #"Trimmed Text" = Table.TransformColumns(#"Expanded Custom",{{"Custom", each Text.TrimEnd(_,","), type text}}) in #"Trimmed Text"I did an add column instead of transform column so I could check the output while testing.