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 28 - August 9 | Final Round of the Power BI Dataviz World Championships. This is your chance. Learn more
I have a table from a SQL database with a bunch of products that are repaired multiple times, each item has a serial number and has up to n repairs each in its respective row I want to group by serial number and then have each product's serial number have all of the repair dates as columns in a row per serial number up to some number n of repairs per item e.g.
| Serial_nr | Repair_date |
| A1234 | 15/02/2024 |
| A1234 | 18/02/2024 |
| A1234 | 15/03/2024 |
| A2222 | 12/02/2024 |
| A5555 | 11/01/2024 |
| A5555 | 11/08/2024 |
IT should turn into this for some repair dates per serial_nr N
| Serial_nr | Repair_date1 | Repair_date2 | Repair_date3 |
| A1234 | 15/02/2024 | 18/02/2024 | 15/03/2024 |
| A2222 | 12/02/2024 | null | null |
| A5555 | 11/01/2024 | 11/08/2024 | null |
Thank you very much
Solved! Go to Solution.
pls try this
let
Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WcjQ0MjZR0lEyNNUzMNIzMjAyUYrVQRK2wC4MVG2MJGwEBCBhI1TVpkAAEjbUMzDELmwBFY4FAA==", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Serial_nr = _t, Repair_date = _t]),
#"Changed Type" = Table.TransformColumnTypes(Source,{{"Serial_nr", type text}, {"Repair_date", type date}}),
#"Grouped Rows" = Table.Group(#"Changed Type", {"Serial_nr"}, {{"Count",
(x)=>[
a= List.Count(x[Repair_date]),
b= Table.FromRows( {x[Repair_date]}, List.Transform( {1..a}, (x)=> "Repair_date" & Text.From(x)))
][b]
}}),
#"Expanded Count" = Table.ExpandTableColumn(#"Grouped Rows", "Count", {"Repair_date1", "Repair_date2", "Repair_date3"})
in
#"Expanded Count"
did not bother with column names...
let
Source = Excel.CurrentWorkbook(){[Name="Table2"]}[Content],
group = Table.Group(Source, "Serial_nr", {"x", (x) => Table.FromRows({{Table.FirstValue(x)} & x[Repair_date]})}),
result = Table.Combine(group[x])
in
result
pls try this
let
Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WcjQ0MjZR0lEyNNUzMNIzMjAyUYrVQRK2wC4MVG2MJGwEBCBhI1TVpkAAEjbUMzDELmwBFY4FAA==", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Serial_nr = _t, Repair_date = _t]),
#"Changed Type" = Table.TransformColumnTypes(Source,{{"Serial_nr", type text}, {"Repair_date", type date}}),
#"Grouped Rows" = Table.Group(#"Changed Type", {"Serial_nr"}, {{"Count",
(x)=>[
a= List.Count(x[Repair_date]),
b= Table.FromRows( {x[Repair_date]}, List.Transform( {1..a}, (x)=> "Repair_date" & Text.From(x)))
][b]
}}),
#"Expanded Count" = Table.ExpandTableColumn(#"Grouped Rows", "Count", {"Repair_date1", "Repair_date2", "Repair_date3"})
in
#"Expanded Count"
Thank you very much, what I needed exactly
Join us in Barcelona for FabCon and SQLCon, the Fabric, Power BI, SQL, and AI community event. Save €200 with code FABCMTY200.
If you love stickers, then you will definitely want to check out our community sticker challenge, Barcelona edition!
Check out the July 2026 Power BI update to learn about new features.
| User | Count |
|---|---|
| 4 | |
| 2 | |
| 2 | |
| 2 | |
| 1 |