Forum Discussion
bartvana
Jun 05, 2021Iron Contributor
Power Query: Filter table based on list with wildcards
I have this list in an Excel sheet: FOL/ CREDIT ... I need my Power Query to filter a given table so that everything beginning with "FOL/" and "CREDIT" in the column "Name" (eg. FOL/1254, FOL/...
- Jun 05, 2021
As variant, if you would like to filter first table on the texts in the second table from which first table text start
the query could be like
let Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content], #"Added Custom" = Table.AddColumn( Source, "Custom", each [a=[A], b=List.Contains( List.Transform( Table2[B], each Text.StartsWith(a, _) ), true ) ][b] ), #"Filtered Rows" = Table.SelectRows( #"Added Custom", each ([Custom] = true) ), #"Removed Other Columns" = Table.SelectColumns( #"Filtered Rows", {"A"} ) in #"Removed Other Columns"
List.Transform checks if for any element of second table column A starts from it. With List.Contains we check if there are at least one TRUE. Finally filter on this column and remove it.
Crafting4U
Sep 18, 2021Copper Contributor
Will this filter Rows, or just Cells?
SergeiBaklan
Sep 18, 2021Diamond Contributor
Not sure I understood the question. In general in PQ we operate with records (aka rows in tables) and lists (aka columns in tables), what do you mean under filtering of cells?
- Crafting4USep 18, 2021Copper ContributorI think that confirms that my fear is unfounded. In Excel, if I select a range and delete, I must decide how adjacent cells will shift to fill in, effectively changing an order of 3 blue widgets to an order of 1125 yellow turtles.
- SergeiBaklanSep 18, 2021Diamond Contributor
In Power Query it works the same way as with filtering of structured tables in Excel grid. If you apply filter you say which rows to exclude from the next view.
- Crafting4USep 18, 2021Copper ContributorThanks. I have more questions but I'll start a new thread rather than hijacking this one.