Earn the coveted Fabric Analytics Engineer certification. 100% off your exam for a limited time only!
Hi - I think I'm close but stuck on final hurdle. I have used a combination of UnPivot, and Re-Pivot to get me there.
I have a data set that looks like this (3 related fields for Product, Unit Price and Tax Code, three times):
I need to transform it to:
I've gotten this far, with Unpivot, and Pivot... but its not quite right.
Would really appreciate any assistance on the steps required to get the transform right (I had to add an Index column to overcome an error when I went to Pivot). I would prefer not to use DAX/M and only use whats available in the PBI Desktop interface.
Thanks in Advance for any assistance. Original Sample Source Data in this link.
Solved! Go to Solution.
@Anonymous
Attaching your Excel file as well. Please see the steps from Query Editor
@Anonymous
Attaching your Excel file as well. Please see the steps from Query Editor
@Zubair_Muhammad - thats very very clever - especially the first custom field.... thank you so much. Would never have gotten that far on my own.
QQ - Will there be any issues refreshing this dataset in Power BI?
Thanks,
Gerard
@Anonymous
Hopefully no issues. But let me know if it gives error
@Zubair_Muhammad - Just to confirm, I have adapted this solution to my specific use case and it is working very well... there are also no issues with refreshes.
Thank you so much for your help!
Regards
Gerard
Hi @Anonymous
Try this. It works with your sample data
let Source = Excel.CurrentWorkbook(){[Name="Original_DataSet"]}[Content], #"Changed Type" = Table.TransformColumnTypes(Source,{{"User Name", type text}, {"User ID", Int64.Type}, {"Product 1", type text}, {"Unit Price 1", type number}, {"Product 1 Tax Code", type text}, {"Product 2", type text}, {"Unit Price 2", type number}, {"Product 2 Tax Code", type text}, {"Product 3", type text}, {"Unit Price 3", type number}, {"Product 3 Tax Code", type text}}), #"Unpivoted Columns" = Table.UnpivotOtherColumns(#"Changed Type", {"User Name", "User ID"}, "Attribute", "Value"), #"Added Custom" = Table.AddColumn(#"Unpivoted Columns", "Custom", each Text.Select([Attribute],{"0".."9"})), #"Added Custom1" = Table.AddColumn(#"Added Custom", "Custom.1", each Text.Remove([Attribute],{"0".."9"})), #"Removed Columns" = Table.RemoveColumns(#"Added Custom1",{"Attribute"}), #"Pivoted Column" = Table.Pivot(#"Removed Columns", List.Distinct(#"Removed Columns"[Custom.1]), "Custom.1", "Value") in #"Pivoted Column"
User | Count |
---|---|
125 | |
106 | |
99 | |
63 | |
62 |
User | Count |
---|---|
135 | |
116 | |
101 | |
71 | |
61 |