Forum Discussion
Get the Most Recent Values from a table
- 5 years ago
Hi vsslasd1
Assuming there's only one DatasetID in the table, you can use
Table.Max(#"Removed Columns", "Start Time")
If there are more, you can use a combination of Group By and Table.Max()
Please mark the question solved when done and consider giving a thumbs up if posts are helpful.
Contact me privately for support with any larger-scale BI needs, tutoring, etc.
Cheers
- Anonymous5 years ago
Hi vsslasd1
Please try my M Query in you Power Query Editor.
You can copy my M Query and paste it in your Advanced Editor.
My Sample:
My M Query:
let Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("bdDdasMwDAXgVwm+LkSSJUv2Xdau+4E9QehFx3JRaNlge3+WRNkw1JcyfJzjM45hCLtAgMo5m8b1IOyxt84KYMHcDW/z6/F8uU4f4bQbw4OLlDAmqoQuIhWgO7GfT8ygJKq2CegR+7wQLiBODpfv8/sfOjiSqJCyVWhtFv9z9p+3r+v0M63o0VFkyyJQIfUkig10dIRiBIYVSguiQtxATwuynFOKWet64ghaSc+OVJMm1grxtrY00IsjMZN5vwrFrR400KsjBgA2rhD5emQNNDgiEAWuEXa6/ulu8tMv", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [#"Dataset ID" = _t, #"Rerfresh ID" = _t, #"Start Time" = _t, Status = _t]), #"Changed Type" = Table.TransformColumnTypes(Source,{{"Dataset ID", type text}, {"Rerfresh ID", Int64.Type}, {"Start Time", type datetime}, {"Status", type text}}), #"Filter Row" = let MaxTime = Table.SelectRows(Source, each ([Start Time] = List.Max(Source[Start Time]))) in Table.SelectRows(Source, each ([Dataset ID] = List.Max(MaxTime[Dataset ID]))) in #"Filter Row"Result:
You may upgade your code as below:
let Source = PowerBIRESTAPI.Navigation(), AppWorkspace = Source{[Key="AppWorkspace"]}[Data], RefreshHistory = AppWorkspace{[Key="RefreshHistory"]}[Data], #"Removed Columns" = Table.RemoveColumns(RefreshHistory,{"Workspace ID", "Request ID", "Refresh Type", "End Time", "Error Code", "Error Description", "Duration In Minutes"}), #"Filter Row" = let MaxTime = Table.SelectRows(Source, each ([Start Time] = List.Max(Source[Start Time]))) in Table.SelectRows(Source, each ([Dataset ID] = List.Max(MaxTime[Dataset ID]))) in #"Filter Row"Best Regards,
Rico Zhou
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
Hi vsslasd1
Please try my M Query in you Power Query Editor.
You can copy my M Query and paste it in your Advanced Editor.
My Sample:
My M Query:
let
Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("bdDdasMwDAXgVwm+LkSSJUv2Xdau+4E9QehFx3JRaNlge3+WRNkw1JcyfJzjM45hCLtAgMo5m8b1IOyxt84KYMHcDW/z6/F8uU4f4bQbw4OLlDAmqoQuIhWgO7GfT8ygJKq2CegR+7wQLiBODpfv8/sfOjiSqJCyVWhtFv9z9p+3r+v0M63o0VFkyyJQIfUkig10dIRiBIYVSguiQtxATwuynFOKWet64ghaSc+OVJMm1grxtrY00IsjMZN5vwrFrR400KsjBgA2rhD5emQNNDgiEAWuEXa6/ulu8tMv", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [#"Dataset ID" = _t, #"Rerfresh ID" = _t, #"Start Time" = _t, Status = _t]),
#"Changed Type" = Table.TransformColumnTypes(Source,{{"Dataset ID", type text}, {"Rerfresh ID", Int64.Type}, {"Start Time", type datetime}, {"Status", type text}}),
#"Filter Row" =
let
MaxTime = Table.SelectRows(Source, each ([Start Time] = List.Max(Source[Start Time])))
in
Table.SelectRows(Source, each ([Dataset ID] = List.Max(MaxTime[Dataset ID])))
in
#"Filter Row"
Result:
You may upgade your code as below:
let
Source = PowerBIRESTAPI.Navigation(),
AppWorkspace = Source{[Key="AppWorkspace"]}[Data],
RefreshHistory = AppWorkspace{[Key="RefreshHistory"]}[Data],
#"Removed Columns" = Table.RemoveColumns(RefreshHistory,{"Workspace ID", "Request ID", "Refresh Type", "End Time", "Error Code", "Error Description", "Duration In Minutes"}),
#"Filter Row" =
let
MaxTime = Table.SelectRows(Source, each ([Start Time] = List.Max(Source[Start Time])))
in
Table.SelectRows(Source, each ([Dataset ID] = List.Max(MaxTime[Dataset ID])))
in
#"Filter Row"
Best Regards,
Rico Zhou
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.