Showing results for 
Search instead for 
Did you mean: 
Helper III
Helper III

filter using a dropdown operator


i'd like to filter a gallery using a dropdown

the problem is that the dropdown value is not a value i want to search, but is the operator




dropdown vaue: =

search textbox: 35


so i have selected the "= 35", but in the dropdown i have more than, less then....


how can i make a filter formula with that?


Accepted Solutions

This should definitly work. So there must be a problem elsewhere. I'm trying to think where it could be...

Can you post a capture of the field 'Ptf trasferibile personale' definition in the list ?

Do you want to filter you gallery on the numeric values I point out here with my red arrows?


Can you post a capture of an example of your filter screen where I can see the values you enter in the TBcandidatifiltroptftrasferibile text box?

Can you post a capture of the list items in SharePoint that should be returned with the corresponding filter value?

Thanks a lot for your patience,


View solution in original post

Super User
Super User

You could use an If() or Switch() function in your Gallery Item property and have a Filter formula for each situation.


An example of a switch():

Switch(DropDpwn.Value, "=", Filter('DataSource', SearchBox.Text = DataSourceColumn), ">", Filter('DataSource', SearchBox.Text > DataSourceColumn), "<", Filter('DataSource', SearchBox.Text < DataSourceColumn), 'DataSource')

If this post helps answer your question, please click on “Accept as Solution” to help other members find it more quickly. If you thought this post was helpful, please give it a Thumbs Up.

it's a good point there is no way on getting the text from dropdown and using it as operator? my formula is already a bit big...

Hi @diego_marino,

No there is no way to use an operator value in a string as a real operator. So @Jeff_Thorpe's solution is the best one...



sorry to ask again about it, but i have several filters. look at that formula, it returns nothing


Filter(Candidati;StartsWith(Cognome;TBcercacandidato.Text)&&If(IsBlank(TBcandidatifiltroptftrasferibile);true;Switch(DPcandidatifiltroptftrasferibile;">=";'Ptf trasferibile personale' >= TBcandidatifiltroptftrasferibile.Text;"<=";'Ptf trasferibile personale' <= TBcandidatifiltroptftrasferibile.Text;"=";'Ptf trasferibile personale' = TBcandidatifiltroptftrasferibile.Text)))


i have a lot of fields i have to filter with switch, they are value that i want to search, i need it to know if more than, less than and equals


just another question

Filter(Candidati;CityID in CBsearchcity.SelectedItems.IDcity)

it shows a delegation error, and i do not get every values...

how may i substitute "in" operator?

Community Support
Community Support

Hi @diegomarino ,

Could you please share a bit more about your scenario?

Do you list the opetaors within the Dropdown box, and want to concatenate with Text Search box value?


Based on the needs that you mentioned, I afraid that there is no direct way to achieve your needs. Currently, within PowerApps, the operator string value (e.g. '=', '>=', ...) could not be acted as actual operator within the Filter formula.


As an alternative solution, I think the If function could achieve your needs. I have made a test on my side, please take a try with the following workaround:

Set the Items property of the Gallery to following formula:

             Dropdown1.Selected.Value  = "=",
             FilteredColumn = Value(TextSearchBox1.Text),
             Dropdown1.Selected.Value  = ">",
             FilteredColumn > Value(TextSearchBox1.Text),
             Dropdown1.Selected.Value  = "<",
             FilteredColumn < Value(TextSearchBox1.Text),
             Dropdown1.Selected.Value  = ">=",
             FilteredColumn >= Value(TextSearchBox1.Text),
             Dropdown1.Selected.Value  = "<=",
             FilteredColumn >= Value(TextSearchBox1.Text)

Note: The FilteredColumn represents the column in your data source, which you want to compare with the Text Search box value along with the operator selected in the Dropdown box.


Best regards,

Community Support Team _ Kris Dai
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

i have this fields i'd like to filter

1) portfolio (it's a currency or numer value). filter more or less or equals

2) new portfolio (the same of the first, it's just another similar but different value)

3) surname. filter with start with

4) date of last work change (it's a date). I'd like to filter before/after

5) city. I store an ID related to the table "cities". i filtered with "field = comboboxSearchCity" but id' like to filter more than 1 value, is it possible? as i said "in" operator is not "delegation friendly"

6) company. as city is an ID related to another table called companies

 there are other fields but they are similar to the mentioned before, so no need to work on it now..



Hi @diego_marino,

As you can see on this capture, I have an app with both search text and many filters to narrow down my research in a list:

Image 4.png

And the corresponding code might look complex:

Image 5.png

But it IS possible Smiley Happy

What I can suggest you to do is to proceed step by step. Start first with your filter on your portfolio field and write something like this (as @v-xida-msft suggested):

(DropDown1.Selected.Value="=" && Portfolio = <VALUE>) ||
(DropDown1.Selected.Value="<" && Portfolio < <VALUE>) ||
(DropDown1.Selected.Value=">" && Portfolio > <VALUE>) ||

Replace <VALUE> with the corresponding text value or with a Value(<VALUE>) if you're comparing a numeric value.

Then, once tested and once it works, proceed with the second field to filter on, then the third, etc. Just keep in mind to use only delegable operators:

Image 6.png


About the IN operator, you could use it but not directly on a datasource. You could first load your datasource in a local collection and use the IN operator on that collection.

Also consider using a collection to store the results of your various filters it becomes more and more restrictive as the user chooses more and more filter options.

hi, it seems promising i tried Filter(Candidati;If(IsBlank(TBcandidatifiltroptftrasferibile.Text);true;DPcandidatifiltroptftrasferibile.Selected.Value="=" && 'Ptf trasferibile personale' = Value(TBcandidatifiltroptftrasferibile.Text)) || (DPcandidatifiltroptftrasferibile.Selected.Value="<=" && 'Ptf trasferibile personale' <= Value(TBcandidatifiltroptftrasferibile.Text)) || (DPcandidatifiltroptftrasferibile.Selected.Value=">=" && 'Ptf trasferibile personale' >= Value(TBcandidatifiltroptftrasferibile.Text)))


but it returns nothing, surely i made something bad


and how my a create a collect? i read something about but not sure


maybe i should create it "on visible" property of the related screen, right? how is the formula?

Could you do 2 things for us please ?

  1. Post a capture of your Filter formula AFTER using the Format Text button in the code editor so we can analyze your formula more easily
    Image 8.png
  2. Could you post, as well, a capture of your application with some explanations of what you're trying to do ?


Helpful resources

Power Apps News & Annoucements carousel

Power Apps News & Announcements

Keep up to date with current events and community announcements in the Power Apps community.

Microsoft 365 Conference – December 6-8, 2022

Microsoft 365 Conference – December 6-8, 2022

Join us in Las Vegas to experience community, incredible learning opportunities, and connections that will help grow skills, know-how, and more.

Power Apps Community Blog Carousel

Power Apps Community Blog

Check out the latest Community Blog from the community!

Top Solution Authors
Top Kudoed Authors
Users online (3,799)