Forum Discussion

Dicken's avatar
Dicken
Post Prodigy
2 years ago
Solved

Filter Table , Column by postion

 

Hi, 

  so filter table ;

   

Table.SelectRows(Source , each ([B] = "A"))

but if I do not know the name of a coliumn, just postion, so I know I need column 2 , so I found the name; 

 ( List.Transform( {1}, 
(A)=> Table.ColumnNames( Source ) {A} ) {0} )

So this is giving me the column name as text, but how to I get into the select rows as a column , Table.Column = a list, 

 List.Transform( 
 Table.Column ( Source , colname ), 
 (A)=> A = "A")

So is there a way to get colname  step which is text into the equivalent of  [ column name]  ? 

 

 

Richard. 

  •  

    Table.SelectRows(Source, each Record.FieldValues(_){1} = "A")

     

4 Replies

  • Dicken's avatar
    Dicken
    Post Prodigy

    I have done a bit more and come up with this; 

     

     (List.Transform( {1}, (A)=> 
    Table.ColumnNames( Source){A} ){0})

     

    To get column name, then 

     

     Table.SelectRows(Source, each  
    List.Contains( {"A"},Record.Field(_, columnName) 
    ) )

     

    If anyone have more ideas pleas let me know. 

     

    Richard. 

    • AlienSx's avatar
      AlienSx
      Super User

       

      Table.SelectRows(Source, each Record.FieldValues(_){1} = "A")

       

      • Dicken's avatar
        Dicken
        Post Prodigy

        Thats similar to my updated post exccep i used record.field, thanks anyway, 

         Table.SelectRows(Source, each  
        List.Contains( {"A"},Record.Field(_, columnName) 
        ) )