This time we’re going bigger than ever. Fabric, Power BI, SQL, AI and more. We're covering it all. You won't want to miss it.
Learn moreLevel up your Power BI skills this month - build one visual each week and tell better stories with data! Get started
Hello
I have that data:
| ID | Header1 | Header2 |
| ID1 | 4 | 9 |
| ID1 | 7 | 4 |
| ID2 | 2 | 8 |
| ID2 | 6 | 3 |
How can I consolidate the rows by ID and take the maximum of column2 and the maximum of column3?
It should look like:
| ID | Header1 | Header2 |
| ID1 | 7 | 9 |
| ID2 | 6 | 8 |
7 = max of 4 and 7
9 = max of 9 and 4 etc
Thanks!
Solved! Go to Solution.
Hi @Anonymous ,
If you wnat to redo your table you need to use the Query Editor and group by ID and then MAX for both columns:
check the code for the query editor:
let
Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45W8nQxVNJRMgFiS6VYHRjfHCwG4RsB2SBsgcQ3A2JjpdhYAA==", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type text) meta [Serialized.Text = true]) in type table [ID = _t, Header1 = _t, Header2 = _t]),
#"Changed Type" = Table.TransformColumnTypes(Source,{{"ID", type text}, {"Header1", Int64.Type}, {"Header2", Int64.Type}}),
#"Grouped Rows" = Table.Group(#"Changed Type", {"ID"}, {{"Header1", each List.Max([Header1]), type number}, {"Header2", each List.Max([Header2]), type number}})
in
#"Grouped Rows"
If want on the visualization you need to make a table visualization and then select the maximum values for each of the columns.
Regards
Miguel Félix
Proud to be a Super User!
Check out my blog: Power BI em PortuguêsHi, @Anonymous
Based on your description, you may create two measures as below.
Header1 Measure =
var _id = SELECTEDVALUE('Table'[ID])
return
CALCULATE(
MAX('Table'[Header1]),
FILTER(
ALLSELECTED('Table'),
'Table'[ID] = _id
)
)
Header2 Measure =
var _id = SELECTEDVALUE('Table'[ID])
return
CALCULATE(
MAX('Table'[Header2]),
FILTER(
ALLSELECTED('Table'),
'Table'[ID] = _id
)
)
Result:
Best Regards
Allan
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
@Anonymous , You can also try new measures like
Header1= sumx(summarize(Table,Table[ID],"_1",max(Table[Header1])),[_1])
Header2= sumx(summarize(Table,Table[ID],"_1",max(Table[Header2])),[_1])
Hi @Anonymous
I've completed this in Power Query. Paste the following code into a blank query using Advanced Editor to follow my steps:
let
Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45W8nQxVNJRMgFiS6VYHRjfHCwG4RsB2SBsgcQ3A2JjpdhYAA==", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type text) meta [Serialized.Text = true]) in type table [ID = _t, Header1 = _t, Header2 = _t]),
groupID = Table.Group(Source, {"ID"}, {{"data", each _, type table [ID=text, Header1=text, Header2=text]}}),
addMaxHeader1 = Table.AddColumn(groupID, "maxHeader1", each Table.Max([data], "Header1")),
addMaxHeader2 = Table.AddColumn(addMaxHeader1, "maxHeader2", each Table.Max([data], "Header2")),
expandMaxHeader1 = Table.ExpandRecordColumn(addMaxHeader2, "maxHeader1", {"Header1"}, {"Header1"}),
expandMaxHeader2 = Table.ExpandRecordColumn(expandMaxHeader1, "maxHeader2", {"Header2"}, {"Header2"}),
remDataCol = Table.RemoveColumns(expandMaxHeader2,{"data"}),
chgAllTypes = Table.TransformColumnTypes(remDataCol,{{"Header1", Int64.Type}, {"Header2", Int64.Type}})
in
chgAllTypes
I get the following output:
Pete
Proud to be a Datanaut!
Hi @BA_Pete ,
Great solution but using the advance features of the grouping this is made autmatically by Power Query.
:D:D
Regards
Miguel Félix
Proud to be a Super User!
Check out my blog: Power BI em PortuguêsHi @MFelix
You're right, I may have overcomplicated it a bit! 😄
Proud to be a Datanaut!
Hi @Anonymous ,
If you wnat to redo your table you need to use the Query Editor and group by ID and then MAX for both columns:
check the code for the query editor:
let
Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45W8nQxVNJRMgFiS6VYHRjfHCwG4RsB2SBsgcQ3A2JjpdhYAA==", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type text) meta [Serialized.Text = true]) in type table [ID = _t, Header1 = _t, Header2 = _t]),
#"Changed Type" = Table.TransformColumnTypes(Source,{{"ID", type text}, {"Header1", Int64.Type}, {"Header2", Int64.Type}}),
#"Grouped Rows" = Table.Group(#"Changed Type", {"ID"}, {{"Header1", each List.Max([Header1]), type number}, {"Header2", each List.Max([Header2]), type number}})
in
#"Grouped Rows"
If want on the visualization you need to make a table visualization and then select the maximum values for each of the columns.
Regards
Miguel Félix
Proud to be a Super User!
Check out my blog: Power BI em PortuguêsCheck out the April 2026 Power BI update to learn about new features.
Sign up to receive a private message when registration opens and key events begin.
If you have recently started exploring Fabric, we'd love to hear how it's going. Your feedback can help with product improvements.
| User | Count |
|---|---|
| 35 | |
| 32 | |
| 26 | |
| 21 | |
| 18 |
| User | Count |
|---|---|
| 68 | |
| 37 | |
| 33 | |
| 23 | |
| 23 |