Forum Discussion

joelv67's avatar
joelv67
Frequent Visitor
9 years ago
Solved

List.First(List.Select()) comparing column table to containing table

background:

I have in my main table a CreateDate. I have created a column of data from the main table, for each row, it contains 1 or more records. I am trying to grab the First Date from the newtable where the CreateDate is < the current Records CreateDate.

 

Previosly, I was grabbing First record like so:

= Table.AddColumn(#"Merged Queries1", "StartDate", each List.First([NewTable][CreateDate]))

 

This grabs the CreateDate correctly, but just grabbign the 1st regardless.

 

I would like to change this to something like this:
= Table.AddColumn(#"Added Custom3", "StartDate2", each List.First( List.Select([NewTable][CreateDate], _ < [CreateDate] )))

 

I get the following error:
Expression.Error: We cannot apply operator > to types Record and DateTime.
Details:
    Operator=>
    Left=Record
    Right=1/12/2017 12:02:31 AM

 

Any ideas on how I can do this?

Sample Data:
CreateDate | Application | Severity | NewTable

1/12/2017 12:02:31 | TestApp | Info | <table>

 

<table> contents:
1/12/2017 12:01:00 | TestApp | Info

1/13/2017 12:01:00 | TestApp | Info

 

Thank you for any help

 

Joel

  • ImkeF's avatar
    ImkeF
    9 years ago

    sorry, there was an Earlier missing:

     

    = Table.AddColumn(#"Added Custom3", "StartDate2", (Earlier) => List.First( List.Select(Earlier[NewTable][CreateDate], each _ < Earlier[CreateDate] )))

     

4 Replies

  • ImkeF's avatar
    ImkeF
    Community Champion

    Pls try:

     

    = Table.AddColumn(#"Added Custom3", "StartDate2", (Earlier) => List.First( List.Select([NewTable][CreateDate], each _ < Earlier[CreateDate] )))
    • joelv67's avatar
      joelv67
      Frequent Visitor

      Thank you for the quick response. I am now getting this error:

      Expression.Error: There is an unknown identifier. Did you use the [field] shorthand for a _[field] outside of an 'each' expression?

      • ImkeF's avatar
        ImkeF
        Community Champion

        sorry, there was an Earlier missing:

         

        = Table.AddColumn(#"Added Custom3", "StartDate2", (Earlier) => List.First( List.Select(Earlier[NewTable][CreateDate], each _ < Earlier[CreateDate] )))