cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
ballboff
Frequent Visitor

Multiple Filters

Hi guys, 

 

I'm having issues with filtering on several textboxes and controls.  To save a bit of time I won't go into the ins and outs of why i'm trying to do what I'm doing, but I'll tell you the controls I have and what is happening and what should be happening.

 

I have a toggle control which toggles between contracted and non-contracted.  If it's enabled it's contracted, if it's disabled it shows non-contracted suppliers. This is the master control, and regardless of what other filters are selected or typed this filter should always be active.

 

I have a textbox known as textbox1.  This is a keyword search and I want this to be searchable across multiple fields.  At the moment I have this set up to search within city.  So when I click to enable the toggle to show contracted, and I type the city of leeds it will show all contracted suppliers within leeds.  If I then click the toggle again, it will show all non-contracted suppliers in leeds.  Same as if I erase the city it should then show me all contracted or non-contracted suppliers depending on what the toggle is selected as.

 

Thirdly, if there is nothing typed in the keyword search and I type something in my third control, I then want it to filter just on that control.  The third control is the city field at the moment, but I will be reproducing this for all the other fields , so that the user can either have the choice of searching within the keyword search or they can select individual filters.

 

This is my code so far...

 

Sort(If(IsBlank(TextInput1.Text), 

Filter('Supplier Database Table',TextBox1.Text = Text(Contracted_x003f_)), 

Filter( 'Supplier Database Table', 

TextInput1.Text = Text(Lower(City)) 

&& TextBox1.Text = Text(Contracted_x003f_) )), 

Supplier_x0020_Name, If(SortDescending1, SortOrder.Descending, SortOrder.Ascending))

 

Whenever I try to nest this it ignores the contracted toggle.

1 ACCEPTED SOLUTION

Accepted Solutions
rgruian
Power Apps
Power Apps

Try something like this, to see if it fixes your problem.

 

Sort(
     Filter('Supplier Database Table',

        (IsBlank(TextInput1.Text) || TextInput1.Text = Text(Lower(City))) && (TextBox1.Text = If(Toggle1.Value, Text(Contracted_x003f_), Text(NonContracted_x003f_)))),
     Supplier_x0020_Name,
     If(SortDescending1, Descending, Ascending))

 

 

I hope this helps.

Radu Gruian [MSFT] ** PowerApps Staff

View solution in original post

7 REPLIES 7
rgruian
Power Apps
Power Apps

Try something like this, to see if it fixes your problem.

 

Sort(
     Filter('Supplier Database Table',

        (IsBlank(TextInput1.Text) || TextInput1.Text = Text(Lower(City))) && (TextBox1.Text = If(Toggle1.Value, Text(Contracted_x003f_), Text(NonContracted_x003f_)))),
     Supplier_x0020_Name,
     If(SortDescending1, Descending, Ascending))

 

 

I hope this helps.

Radu Gruian [MSFT] ** PowerApps Staff

View solution in original post

ballboff
Frequent Visitor

Yeah that would kind of work.  I can see where you're going with that.  I would need to add another field, but I would be able to add this additional and each additional field to the first part of the formula.  Easy when you know how 🙂

If I add IF condition the delegation benefits are lost and I can only see 500 records max which is not correct.

Anonymous
Not applicable



 

Hi PowerUsers:
This is what i trying to do. I am building a brainstorming app that will collect Ideas based on different topics. So I built the first screen with the topics, and depending on the user selection, it will navigate to a second screen where I have a form and a gallery. The second screen title is assigned based on the previous screen selection (topic1, topic2, topic3). The user will use the form to write down and idea and submit it. The idea will generate a new consecutive number each time a user saves a new idea.

 

Below the input form, there´s a gallery where it shows ALL the ideas for that particular topic selected, so I use this piece of code in the ITEM property for the Gallery:

Filter(IdeaRepository;Area=LblAppName4.Text), where LblAppName4 value will vay depending the topic selected (topic1, topic2, etc).

 

What I need is to not only filter the gallery by the topic, but also SORT the ideas so the highest idea number appears first on the list.

Can´t get the right syntax, since all the examples I´ve read uses a search textbox, and in my case i use lblappName4 value.

 

I would need something similar to this Sort(IdeaRepository;"ID") AND Filter(IdeaRepository;Area=LblAppName4.Text);Descending)) 

Hope it is clear and Thanks for your help

I believe you would need to nest the filter function into the sort function, so it would look something like this. Sort(Filter(IdeaRepository,Area=LblAppName4.Text),"ID",Descending)

Anonymous
Not applicable

Thank you and sorry for late response. It worked perfectly. Thank you very much

Mike_1
Regular Visitor

I have tried to get the correct combination to place both of these filters on the gallery but can't seem to find the correct combination....

 

Each work fine on thier own, but how can I apply both?

 

1st is so only the person who created the entry can see the entry:

SortByColumns(Filter(Timesheet,Author.Email=User().Email),"Created",Descending) 

 

2nd is to see the entries for this week

Filter(Timesheet,Date>=DateAdd(Today(),1-Weekday(Today(),StartOfWeek.Sunday)),Date<DateAdd(Today(),7+1-Weekday(Today(),StartOfWeek.Sunday)))

 

But what is the 'mashed' together version supposed to be so each user only see thier record for this current week? 

 

Thanks for your help.

Helpful resources

Announcements
PA User Group

Welcome to the User Group Public Preview

Check out new user group experience and if you are a leader please create your group

secondImage

Demo Extravaganza Winner Announcement

Please join us on Wednesday, July 21st at 8a PDT. We will be announcing the Winners of the Demo Extravaganza!

V3_PVA CAmpaign Carousel.png

Community Challenge - Giveaways!

Participate in the Power Virtual Agents Community Challenge

Carousel 2021 Release Wave 2 Plan 768x460.jpg

2021 Release Wave 2 Plan

Power Platform release plan for the 2021 release wave 2 describes all new features releasing from October 2021 through March 2022.

Top Solution Authors
Top Kudoed Authors
Users online (2,851)