cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
cgkas Regular Visitor
Regular Visitor

How to shorten multiple OR conditions when filtering column in Power Query

Hello to all,

 

I Have to filter Column1 (Col1) for values A, B, C, D, E or F doing this:

= Table.SelectRows(#"Previous Step", each ([Col1] = "A" or [Col1] = "B" or [Col1] = "C" or [Col1] = "D" or [Col1] = "E" or [Col1] = "F"))

If I have several OR conditions is possible to do in a shortest way?, something similar to this?

= Table.SelectRows(#"Previous Step", each ([Col1] = {"A","B","C","D","E","F"}))

Thanks in advance

1 ACCEPTED SOLUTION

Accepted Solutions
Highlighted
Super User
Super User

Re: How to shorten multiple OR conditions when filtering column in Power Query

Hi @cgkas,

Try List.Contains. Something like:

 

Table.SelectRows(#"Previous Step", each (List.Contains({"A","B","C","D","E","F"},[Col1])))

 

4 REPLIES 4
Highlighted
Super User
Super User

Re: How to shorten multiple OR conditions when filtering column in Power Query

Hi @cgkas,

Try List.Contains. Something like:

 

Table.SelectRows(#"Previous Step", each (List.Contains({"A","B","C","D","E","F"},[Col1])))

 

cgkas Regular Visitor
Regular Visitor

Re: How to shorten multiple OR conditions when filtering column in Power Query

Many thanks AIB,

 

It seems to work. 

 

I know is another question, only to know if it is possible to use wildcards (regex) to shorten even more. Something like this:

 

Table.SelectRows(#"Previous Step", each (List.Contains({"AB*","BC*"},[Col1])))

 

 

Super User
Super User

Re: How to shorten multiple OR conditions when filtering column in Power Query

@cgkas 

In this case you could use

List.Contains({"A".."F"},[Col1])

which will include all letters between A and F.

As for the wildcards, maybe this posting will be useful

cgkas Regular Visitor
Regular Visitor

Re: How to shorten multiple OR conditions when filtering column in Power Query

Excellent. Thank you AIB for your kind help.