Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

The Power BI Data Visualization World Championships is back! Get ahead of the game and start preparing now! Learn more

Reply
mrbajana
Helper III
Helper III

PowerQuery Unpivot o Pivot

Spoiler
 

I have this case where the data is received in this structure per year and 12 months in every column. As I do in PowerQuery so that it is in a structure which I can model for the reports.

 

Received:

recived.png

 

Wanted:

 

desire.png

 

Data : https://1drv.ms/x/s!Amrv4wqX-_hsinzPJ4TTNc41DhMN

 

1 ACCEPTED SOLUTION
ImkeF
Community Champion
Community Champion

Hi @mrbajana ,

I've created a handy function for a part of what @Michiel has described here: https://www.thebiccountant.com/2017/06/19/unpivot-by-number-of-columns-and-rows-in-powerbi-and-power...

 

After the unpivot, you simply have to select the column with the desired column names and pivot (back) on them.

Imke Feldmann (The BIccountant)

If you liked my solution, please give it a thumbs up. And if I did answer your question, please mark this post as a solution. Thanks!

How to integrate M-code into your solution -- How to get your questions answered quickly -- How to provide sample data -- Check out more PBI- learning resources here -- Performance Tipps for M-queries

View solution in original post

3 REPLIES 3
Michiel
Resolver III
Resolver III

The main 'trick' is called exactly what you ask for: unpivot columns. Or: unpivot other columns, which is often more useful. It takes the name of columns and turns these into values in a new colum, and unpivots the rest.

 

The problem in your file is that you have three rows containing labels, and you need one column header for unpivot to work. I would do it this way:

1. Transpose everything (Transpose is also a Power Query transformation)

2. The top three rows will be the first three columns. Merge these into one by concatenating the values (I would insert a delimiter between them)

3. Transpose everything back

4. Use the 'Use first row as headers' option to turn the now combined labels as column headers

5. Unpivot

6. Split the column with the header again into three separate columns.

ImkeF
Community Champion
Community Champion

Hi @mrbajana ,

I've created a handy function for a part of what @Michiel has described here: https://www.thebiccountant.com/2017/06/19/unpivot-by-number-of-columns-and-rows-in-powerbi-and-power...

 

After the unpivot, you simply have to select the column with the desired column names and pivot (back) on them.

Imke Feldmann (The BIccountant)

If you liked my solution, please give it a thumbs up. And if I did answer your question, please mark this post as a solution. Thanks!

How to integrate M-code into your solution -- How to get your questions answered quickly -- How to provide sample data -- Check out more PBI- learning resources here -- Performance Tipps for M-queries

PowerQuery is Magic thank you very much for your help!!!

Helpful resources

Announcements
Power BI DataViz World Championships

Power BI Dataviz World Championships

The Power BI Data Visualization World Championships is back! Get ahead of the game and start preparing now!

December 2025 Power BI Update Carousel

Power BI Monthly Update - December 2025

Check out the December 2025 Power BI Holiday Recap!

FabCon Atlanta 2026 carousel

FabCon Atlanta 2026

Join us at FabCon Atlanta, March 16-20, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.

Top Solution Authors