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

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

Reply
Anonymous
Not applicable

Converting columns to rows where one column duplicates for every row

I have the following problem. I want to transform the data from this format:

Steef_0-1599843442407.png

To this format:

Steef_2-1599843620794.png

Does anybody know how to complete this transformation in power query or DAX?

 

1 REPLY 1
STIBBS_807
Resolver I
Resolver I

This is how I would do it.  I am not a expert just a beginner.

Make your data into an Excel Table.  You can name your table whatever you like.

STIBBS_807_0-1636583340440.png

Then using the Data Tab, select From Table/Range

STIBBS_807_1-1636583437292.png

Now you have one copy of the Table.  Duplicate this in Power Query to have 4 tables.  Name they however you want.

STIBBS_807_2-1636583525767.png

Format them to have only the one set of data per table.  Here is the code:

RawData1

let
Source = Excel.CurrentWorkbook(){[Name="RawData"]}[Content],
#"Changed Type" = Table.TransformColumnTypes(Source,{{"ID", Int64.Type}, {"Date1", type datetime}, {"Date2", type datetime}, {"Date3", type datetime}, {"Date4", type datetime}, {"D1", Int64.Type}, {"D2", Int64.Type}, {"D3", Int64.Type}, {"D4", Int64.Type}}),
#"Removed Other Columns" = Table.SelectColumns(#"Changed Type",{"ID", "Date1", "D1"}),
#"Renamed Columns" = Table.RenameColumns(#"Removed Other Columns",{{"Date1", "Dates"}, {"D1", "D"}})
in
#"Renamed Columns"

RawData2

let
Source = Excel.CurrentWorkbook(){[Name="RawData"]}[Content],
#"Changed Type" = Table.TransformColumnTypes(Source,{{"ID", Int64.Type}, {"Date1", type datetime}, {"Date2", type datetime}, {"Date3", type datetime}, {"Date4", type datetime}, {"D1", Int64.Type}, {"D2", Int64.Type}, {"D3", Int64.Type}, {"D4", Int64.Type}}),
#"Removed Other Columns" = Table.SelectColumns(#"Changed Type",{"ID", "Date2", "D2"}),
#"Renamed Columns" = Table.RenameColumns(#"Removed Other Columns",{{"Date2", "Dates"}, {"D2", "D"}})
in
#"Renamed Columns"

ETC....

Then Append to New to get your data:

let
Source = Table.Combine({RawData1, RawData2, RawData3, RawData4}),
#"Sorted Rows" = Table.Sort(Source,{{"ID", Order.Ascending}})
in
#"Sorted Rows"

Close and Load the Power Query Editor.

 

Helpful resources

Announcements
Fabric Data Days Carousel

Fabric Data Days

Advance your Data & AI career with 50 days of live learning, contests, hands-on challenges, study groups & certifications and more!

October Power BI Update Carousel

Power BI Monthly Update - October 2025

Check out the October 2025 Power BI update to learn about new features.

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