cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
Highlighted
diegomarino
Level: Powered On

filter using a dropdown operator

hi,

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

 

example

 

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?

1 ACCEPTED SOLUTION

Accepted Solutions
R3dKap
Level 10

Re: filter using a dropdown operator

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?

Cattura.PNG

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,

Emmanuel

View solution in original post

25 REPLIES 25
Super User
Super User

Re: filter using a dropdown operator

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.
diego_marino
Level: Powered On

Re: filter using a dropdown operator

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...

R3dKap
Level 10

Re: filter using a dropdown operator

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...

Emmanuel

diego_marino
Level: Powered On

Re: filter using a dropdown operator

hi

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 Team
Community Support Team

Re: filter using a dropdown operator

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:

Filter(
        'YourDataSource',
         If(
             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.
diego_marino
Level: Powered On

Re: filter using a dropdown operator

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..

 

thanks

R3dKap
Level 10

Re: filter using a dropdown operator

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>) ||
etc.

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.

diego_marino
Level: Powered On

Re: filter using a dropdown operator

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?

R3dKap
Level 10

Re: filter using a dropdown operator

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 ?

Thanks.

Helpful resources

Announcements
thirdimage

Power Apps Super User Class of 2020

Check it out!

thirdimage

Power Apps Community User Group Member Badge

Fill out a quick form to claim your user group badge now!

sixthImage

Power Platform World Tour

Find out where you can attend!

Power Platform 2019 release wave 2 plan

Power Platform 2019 release wave 2 plan

Features releasing from October 2019 through March 2020

SecondImage

Difinity Conference

The largest Power BI, Power Platform, and Data conference in New Zealand

Top Solution Authors
Top Kudoed Authors (Last 30 Days)
Users online (4,861)