Forum Discussion

ngct1112's avatar
ngct1112
Post Patron
4 years ago
Solved

Filter Columns based on columns' name

Hi all,

 

May I ask is there any way I could filter columns based on its name?

IDGroupCost 1Cost 2Price 1Price 2
1A-0.8--0.11
2B0.4--0.23
3-0.5-0.6-
4C-0.40.1-
5D0.60.20.540.57

 

In this case, is it possible to filter out "-" if columns' name contains "Price"?

 

I am trying this but still fail,

= Table.SelectRows(Source, each (List.Select(Table.ColumnNames(Source), each Text.Contains(_,"Price") <> "-")))

 

Anonymous if you could help?

 

  • = let col=List.Select(Table.ColumnNames(Source), each Text.Contains(_,"Price")) in Table.SelectRows(Source, each List.PositionOf(Record.ToList(Record.SelectFields(_,col)),"-")<0)

4 Replies

  • wdx223_Daniel's avatar
    wdx223_Daniel
    Community Champion
    = let col=List.Select(Table.ColumnNames(Source), each Text.Contains(_,"Price")) in Table.SelectRows(Source, each List.PositionOf(Record.ToList(Record.SelectFields(_,col)),"-")<0)
    • ngct1112's avatar
      ngct1112
      Post Patron

      wdx223_Daniel may I have a further question?

      Is it possible to achieve a similar outcome:

      When the Columns name contains "price" then Change "Type number"

       

      Great thanks if you have any idea!

      • wdx223_Daniel's avatar
        wdx223_Daniel
        Community Champion

        =Table.TransformColumnTypes(PreviousStep,List.Transform(List.Select(Table.ColumnNames(PreviousStep),each Text.Contains(_,"price")),each {_,type number}))