Get certified for free when you join Fabric Data Days 2026 and dive into Fabric, Power BI, SQL, AI, and other essential data skills.
Join nowJuly 7 - July 17 | Round 2 of the Power BI Dataviz World Championships. Don't miss your chance! Learn more
I need some help figuring out what to do for this data. I currently have
| Project ID | Project Name | First Year | Discount | Long Term Plan | Production | Example | Example | Example | Example |
| 1 | Project 1 | 2023 | null | null | null | null | null | null | null |
| 1 | Project 1 | null | 10% | null | null | null | null | null | null |
| 1 | Project 1 | null | null | .02 | null | null | null | null | null |
This data is multiple Projects and has about 75 Columns where data follows this pattern
And I would Like to have
| Project ID | Project Name | First Year | Discount | Long Term Plan | Production | Example | Example | Example | Example |
| 1 | Project 1 | 2023 | 10% | .02 | 100 | 5 | .25 | 1 | 1 |
| 2 | Project 2 | 2018 | 5% | .02 | 15000 | 2 | 2 | .01 | 1 |
What can I do in Power Query to flatten this data?
Solved! Go to Solution.
Hi @oliviaholmes,
You can do an unpivot operation (this will remove any null values) and then re-pivot the data.
Have a look at the following code:
let
Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WMlTSUQooys9KTS5RALFBGIRidTDlQNKGeCTB8oZgWSMkWRDbCMlYdDmYNA45kLSRkVJsLAA=", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [#"Project ID" = _t, #"Project Name" = _t, Number1 = _t, Number2 = _t, Number3 = _t]),
#"Changed Type" = Table.TransformColumnTypes(Source,{{"Project ID", type text}, {"Project Name", type text}, {"Number1", Int64.Type}, {"Number2", Int64.Type}, {"Number3", Int64.Type}}),
#"Unpivoted Other Columns" = Table.UnpivotOtherColumns(#"Changed Type", {"Project ID", "Project Name"}, "Attribute", "Value"),
#"Pivoted Column" = Table.Pivot(#"Unpivoted Other Columns", List.Distinct(#"Unpivoted Other Columns"[Attribute]), "Attribute", "Value")
in
#"Pivoted Column"
Before:
After:
Hi @oliviaholmes,
1. Start from your initial table.
2. Select the Project ID & Project Name columns and then right-click and choose "unpivot other columns".
You should get:
3. Select the "Attribute" column and then choose "Pivot Column".
4. Fill the following:
You should get:
Hi @oliviaholmes,
You can do an unpivot operation (this will remove any null values) and then re-pivot the data.
Have a look at the following code:
let
Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WMlTSUQooys9KTS5RALFBGIRidTDlQNKGeCTB8oZgWSMkWRDbCMlYdDmYNA45kLSRkVJsLAA=", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [#"Project ID" = _t, #"Project Name" = _t, Number1 = _t, Number2 = _t, Number3 = _t]),
#"Changed Type" = Table.TransformColumnTypes(Source,{{"Project ID", type text}, {"Project Name", type text}, {"Number1", Int64.Type}, {"Number2", Int64.Type}, {"Number3", Int64.Type}}),
#"Unpivoted Other Columns" = Table.UnpivotOtherColumns(#"Changed Type", {"Project ID", "Project Name"}, "Attribute", "Value"),
#"Pivoted Column" = Table.Pivot(#"Unpivoted Other Columns", List.Distinct(#"Unpivoted Other Columns"[Attribute]), "Attribute", "Value")
in
#"Pivoted Column"
Before:
After:
This is not working for me. When i use the code, it shows an error for all columns. Can you do a step walkthrough so I can mirror your actions @SpartaBI
Join us in Barcelona for FabCon and SQLCon, the Fabric, Power BI, SQL, and AI community event. Save €200 with code FABCMTY200.
Join Fabric Data Days 2026: 60 days of free live/on-demand sessions, challenges, study groups, and certification opportunities.