Forum Discussion

evebarratt's avatar
evebarratt
Helper I
4 years ago
Solved

Latest and second latest date

Hi, I need to change a query from table A to table B as below.

 

Basically I need to get the difference between the latest and the second latest date for each product ID.

 

Is there any way to do this in Advanced Editor?

  • See the working here - Open a blank query - Home - Advanced Editor - Remove everything from there and paste the below code to test 

    let
        Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WMlTSUTIyMDLUBUKlWB1kASMsIsYQISOIkJGuqS6agLmuOaqABboKoICBUmwsAA==", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [#"Product ID" = _t, #"Sold Date" = _t]),
        #"Changed Type" = Table.TransformColumnTypes(Source,{{"Product ID", Int64.Type}, {"Sold Date", type date}}),
        #"Grouped Rows" = Table.Group(#"Changed Type", {"Product ID"}, {{"Gap between last 2 days", each Duration.Days(List.Last(_[Sold Date])-List.First(List.LastN(_[Sold Date],2))), Int64.Type}})
    in
       #"Grouped Rows"

2 Replies

  • Vijay_A_Verma's avatar
    Vijay_A_Verma
    Most Valuable Professional

    See the working here - Open a blank query - Home - Advanced Editor - Remove everything from there and paste the below code to test 

    let
        Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WMlTSUTIyMDLUBUKlWB1kASMsIsYQISOIkJGuqS6agLmuOaqABboKoICBUmwsAA==", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [#"Product ID" = _t, #"Sold Date" = _t]),
        #"Changed Type" = Table.TransformColumnTypes(Source,{{"Product ID", Int64.Type}, {"Sold Date", type date}}),
        #"Grouped Rows" = Table.Group(#"Changed Type", {"Product ID"}, {{"Gap between last 2 days", each Duration.Days(List.Last(_[Sold Date])-List.First(List.LastN(_[Sold Date],2))), Int64.Type}})
    in
       #"Grouped Rows"