Forum Discussion

EZimmet's avatar
EZimmet
Icon for Resolver I rankResolver I
1 year ago
Solved

Need to pull the most current record from a list

Good Day  In my table I have a few records showing multiple lines - in the sample data below column EntID is one record that was updated 5 times,   I need to pull the EntID's with the highest NOrder...
  • AmiraBedh's avatar
    1 year ago

    Create a calculated table using DAX :

    LatestRecords = 
    FILTER(
        'Table',
        'Table'[NOrder] = 
        CALCULATE(
            MAX('Table'[NOrder]),
            ALLEXCEPT('Table', 'Table'[EntID])
        )
    )

     

     or using PQ :

    let
        Source = Csv.Document(File.Contents("EntID_highest_NOrder.csv"), [Delimiter=",", Columns=4, Encoding=1252, QuoteStyle=QuoteStyle.None]),
        #"Promoted Headers" = Table.PromoteHeaders(Source, [PromoteAllScalars=true]),
        #"Changed Type" = Table.TransformColumnTypes(#"Promoted Headers", {{"ID", Int64.Type}, {"EntID", Int64.Type}, {"NOrder", Int64.Type}, {"Vendor", Int64.Type}}),
        #"Added MaxNOrder" = Table.AddColumn(#"Changed Type", "MaxNOrder", each List.Max(List.Transform(Table.SelectRows(#"Changed Type", each [EntID] = _[EntID])[NOrder], each _))),
        #"Filtered Rows" = Table.SelectRows(#"Added MaxNOrder", each [NOrder] = [MaxNOrder]),
        #"Removed MaxNOrder" = Table.RemoveColumns(#"Filtered Rows", {"MaxNOrder"})
    in
        #"Removed MaxNOrder"