Forum Discussion
Power Query - Add column if max date by id
Hello,
I have a set of records into a table and want to add the "ismax" column in powerquery.
| DateC | P_ID | P_NAME | ismax |
| 01.01.2022 | 1 | Test1 | n |
| 05.01.2022 | 1 | Test1 | y |
| 06.01.2022 | 2 | Test2 | y |
How can I achieve this ?
I ahve a working solution in DAX but not with Power Query.
Thank you.
- Anonymous3 years ago
Hi Anonymous ,
Please try this custom column:
if [DateC] = List.Max(Table.SelectRows(#"Previous step name",(x)=>x[P_ID]=[P_ID] and x[P_NAME] = [P_NAME])[DateC]) then "y" else "n"all steps:
let Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WMtQ31DcyMDJS0lEyBOKQ1OISQ6VYnWglU1wSZggJI6iEkVJsLAA=", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [DateC = _t, P_ID = _t, P_NAME = _t]), #"Changed Type" = Table.TransformColumnTypes(Source,{{"DateC", type date}, {"P_ID", Int64.Type}, {"P_NAME", type text}}), #"Added Custom" = Table.AddColumn(#"Changed Type", "ismax ", each if [DateC] = List.Max(Table.SelectRows(#"Changed Type",(x)=>x[P_ID]=[P_ID] and x[P_NAME] = [P_NAME])[DateC]) then "y" else "n") in #"Added Custom"If I misunderstand your needs, please tell me what your expected output is and how it is calculated.
Best Regards,
Gao
Community Support TeamIf there is any post helps, then please consider Accept it as the solution to help the other members find it more quickly. If I misunderstand your needs or you still have problems on it, please feel free to let us know. Thanks a lot!
How to get your questions answered quickly -- How to provide sample data in the Power BI Forum
2 Replies
- AnonymousNot applicable
Hello,
let
Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
#"Changed Type" = Table.TransformColumnTypes(Source,{{"DateC", type date}}),
#"Grouped Rows" = Table.Group(#"Changed Type", {"P_ID"}, {{"Count", each _, type table [DateC=nullable date, P_ID=number, P_NAME=text]}}),
custom_function = (check_max_id)=> Table.AddColumn(check_max_id, "ismax", each if [DateC] = List.Max(check_max_id[DateC]) then "y" else "n"),
call_custom_function = Table.AddColumn(#"Grouped Rows", "Custom", each custom_function([Count])),
#"Removed Other Columns" = Table.SelectColumns(call_custom_function,{"Custom"}),
#"Expanded Custom" = Table.ExpandTableColumn(#"Removed Other Columns", "Custom", {"DateC", "P_ID", "P_NAME", "ismax"}, {"DateC", "P_ID", "P_NAME", "ismax"})
in
#"Expanded Custom" - AnonymousNot applicable
Hi Anonymous ,
Please try this custom column:
if [DateC] = List.Max(Table.SelectRows(#"Previous step name",(x)=>x[P_ID]=[P_ID] and x[P_NAME] = [P_NAME])[DateC]) then "y" else "n"all steps:
let Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WMtQ31DcyMDJS0lEyBOKQ1OISQ6VYnWglU1wSZggJI6iEkVJsLAA=", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [DateC = _t, P_ID = _t, P_NAME = _t]), #"Changed Type" = Table.TransformColumnTypes(Source,{{"DateC", type date}, {"P_ID", Int64.Type}, {"P_NAME", type text}}), #"Added Custom" = Table.AddColumn(#"Changed Type", "ismax ", each if [DateC] = List.Max(Table.SelectRows(#"Changed Type",(x)=>x[P_ID]=[P_ID] and x[P_NAME] = [P_NAME])[DateC]) then "y" else "n") in #"Added Custom"If I misunderstand your needs, please tell me what your expected output is and how it is calculated.
Best Regards,
Gao
Community Support TeamIf there is any post helps, then please consider Accept it as the solution to help the other members find it more quickly. If I misunderstand your needs or you still have problems on it, please feel free to let us know. Thanks a lot!
How to get your questions answered quickly -- How to provide sample data in the Power BI Forum