Forum Discussion
Anonymous
7 years agoNot applicable
How do I transpose selected columns into rows
Hi all,
This is what I have at the moment:
This is what I want:
| name | des |
| a | H12345 |
| a | H45678 |
| b | H44444 |
| c | H55555 |
| c | H66666 |
| c | H77777 |
| d | H88888 |
How would I go about doing this in the Power BI?
Appreciate any of your suggestions!
Best,
JPY
Anonymous
Here's how I would do it - unpivot all columns except name then tidy up (important steps in red):
let Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WSlTSUfIwNDI2MQUxTEzNzC2ADKVYnWilJLAICIBEoILJIEFTEAAxzEAAxDAHAbCCFBDXAgRgumIB", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type text) meta [Serialized.Text = true]) in type table [name = _t, des = _t, #"1" = _t, #"2" = _t]), #"Changed Type" = Table.TransformColumnTypes(Source,{{"name", type text}, {"des", type text}, {"1", type text}, {"2", type text}}), UnpivotAllExceptName = Table.UnpivotOtherColumns(#"Changed Type", {"name"}, "Attribute", "Value"), RenameToDes = Table.RenameColumns(UnpivotAllExceptName,{{"Value", "des"}}), RemoveAttribute = Table.RemoveColumns(RenameToDes,{"Attribute"}), RemoveBlankDes = Table.SelectRows(RemoveAttribute, each ([des] <> "" and [des] <> null)) in RemoveBlankDesRegards,
Owen
2 Replies
- OwenAugerSuper User
Anonymous
Here's how I would do it - unpivot all columns except name then tidy up (important steps in red):
let Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WSlTSUfIwNDI2MQUxTEzNzC2ADKVYnWilJLAICIBEoILJIEFTEAAxzEAAxDAHAbCCFBDXAgRgumIB", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type text) meta [Serialized.Text = true]) in type table [name = _t, des = _t, #"1" = _t, #"2" = _t]), #"Changed Type" = Table.TransformColumnTypes(Source,{{"name", type text}, {"des", type text}, {"1", type text}, {"2", type text}}), UnpivotAllExceptName = Table.UnpivotOtherColumns(#"Changed Type", {"name"}, "Attribute", "Value"), RenameToDes = Table.RenameColumns(UnpivotAllExceptName,{{"Value", "des"}}), RemoveAttribute = Table.RemoveColumns(RenameToDes,{"Attribute"}), RemoveBlankDes = Table.SelectRows(RemoveAttribute, each ([des] <> "" and [des] <> null)) in RemoveBlankDesRegards,
Owen
- AnonymousNot applicable