Forum Discussion
Anonymous
7 years agoNot applicable
Need help to transform data
Hello,
I have a CSV file of type:
ID, names, number
For example:
1, Strawberry Mango Banana, 4
2, Kiwi Apple Pear, 3
3, Watermelon Melon Lemon, 3
I want to transform it to get data of type :
1, Banana, 4
1, Strawberry, 4
1, Mango, 4
2, Kiwi, 3
2, Pear, 3
Etc.
How can I transform my table with power BI to get the expected result?
Thank you in advance
Anonymous use split feature on transform menu in query editor, here is M code with split
let Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WMlTSUVIILilKLE9KLSqqVPBNzEvPV3BKzANCoJSJUqxOtJIRSJF3ZnmmgmNBQU6qQkBqYhFQyBgsaQySDE8sSS3KTc3Jz1PwBZM+qbn5eRA1sQA=", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type text) meta [Serialized.Text = true]) in type table [Id = _t, Names = _t, Number = _t]), #"Changed Type" = Table.TransformColumnTypes(Source,{{"Id", Int64.Type}, {"Names", type text}, {"Number", Int64.Type}}), #"Trimmed Text" = Table.TransformColumns(#"Changed Type",{{"Names", Text.Trim, type text}}), #"Split Column by Delimiter" = Table.ExpandListColumn(Table.TransformColumns(#"Trimmed Text", {{"Names", Splitter.SplitTextByDelimiter(" ", QuoteStyle.Csv), let itemType = (type nullable text) meta [Serialized.Text = true] in type {itemType}}}), "Names"), #"Changed Type1" = Table.TransformColumnTypes(#"Split Column by Delimiter",{{"Names", type text}}) in #"Changed Type1"
3 Replies
- parry2kSuper User
Anonymous use split feature on transform menu in query editor, here is M code with split
let Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WMlTSUVIILilKLE9KLSqqVPBNzEvPV3BKzANCoJSJUqxOtJIRSJF3ZnmmgmNBQU6qQkBqYhFQyBgsaQySDE8sSS3KTc3Jz1PwBZM+qbn5eRA1sQA=", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type text) meta [Serialized.Text = true]) in type table [Id = _t, Names = _t, Number = _t]), #"Changed Type" = Table.TransformColumnTypes(Source,{{"Id", Int64.Type}, {"Names", type text}, {"Number", Int64.Type}}), #"Trimmed Text" = Table.TransformColumns(#"Changed Type",{{"Names", Text.Trim, type text}}), #"Split Column by Delimiter" = Table.ExpandListColumn(Table.TransformColumns(#"Trimmed Text", {{"Names", Splitter.SplitTextByDelimiter(" ", QuoteStyle.Csv), let itemType = (type nullable text) meta [Serialized.Text = true] in type {itemType}}}), "Names"), #"Changed Type1" = Table.TransformColumnTypes(#"Split Column by Delimiter",{{"Names", type text}}) in #"Changed Type1"- AnonymousNot applicableparry2k Please could you explain me each line of your M code
- Ashish_MathurSuper User
Hi,
In the Query Editor, double click on each step in the Applied steps section.