Forum Discussion
Dynamic Filter Based on Column Name
- 1 year ago
One method is to add a "Filter Column" which will return True or false depending on your logic. Then filter on that column.
For example, the following code would add a column name'd "Filter"
#"Add Filter Column" = Table.AddColumn(PreviousStep,"Filter", (r)=> //Use List.AllTrue if you want "and" logic //Use List.AnyTrue if you want "or" logic List.AllTrue( List.Transform( Record.FieldValues( Record.SelectFields( r,SelectDistributionColumn)), each _ <> 0 and _ <> null)))Then Filter on that column for true or false.
SelectDistributionColumn is a List, but needs to be a text string, as indicated by the error message you most likely received.
If there is just a single column, then just use the first element of that list.
If there are multiple columns, then you have to reference each column separately.
- Mic19791 year ago
Post Partisan
The are multiple columns, and I want to reference to the selected column by the column name.
Could you suggest the code?
Thanks.
- ronrsnfld1 year ago
Super User
One method is to add a "Filter Column" which will return True or false depending on your logic. Then filter on that column.
For example, the following code would add a column name'd "Filter"
#"Add Filter Column" = Table.AddColumn(PreviousStep,"Filter", (r)=> //Use List.AllTrue if you want "and" logic //Use List.AnyTrue if you want "or" logic List.AllTrue( List.Transform( Record.FieldValues( Record.SelectFields( r,SelectDistributionColumn)), each _ <> 0 and _ <> null)))Then Filter on that column for true or false.
- Mic19791 year ago
Post Partisan
Thanks.