cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
michaele124
Helper I
Helper I

Can't add filters without data disconnecting

I have SharePoint List feeding a gallery in my PowerApp.  I'm trying to add a fillter to only show user results but everytime I type anything into "Items" of my Gallery and adjust the name of the data source, the data source will immedietly switch to "No Data".  If I reconnect the data, it blow out whatever formula I have typed in the Items.  This was working yesterday.

 

I tried building a brand new app from scratch with a different list and the same thing happened, any ideas?

 

 

1 ACCEPTED SOLUTION

Accepted Solutions

I ended up creating two galleries and then just displaying one or other based on the toggle switch in the visibilty property.

 

This is the syntax that ended up working..

For Gallery1:

SortByColumns(Filter('NameOfList', StudentEmail=User().Email, Status.Value="Interested"), "Modified", If(SortDescending1, Descending, Ascending))

 

For Gallery2:

SortByColumns(Filter('Prod Ops Tech Development', StudentEmail=User().Email, Not(Status.Value="Interested")), "Modified", If(SortDescending1, Descending, Ascending))

View solution in original post

9 REPLIES 9
xyzzyx666
Resolver I
Resolver I

 

Hi  @michaele124,

Could you share more information about your data in your SP source?

And the formula you try?

The Filter function finds records in a table that satisfy a formula. Use Filter to find a set of records that match one or more criteria and to discard those that don't.(From <https://docs.microsoft.com/en-us/powerapps/maker/canvas-apps/functions/function-filter-lookup> )

You can Choose View->Data Source->Data->Remove and then Add the list to try.(Of course you should make sure the SP list has valid data)

20181217filtersplist1.png

I have made one list in SP and then test as the screnshots:

Fistly,create the SP list:20181217filterSPlist;

20181217filtersplist2.png20181217filtersplist3.png

Secondly,gnerate the PowerApps and its Gallery's Filter as this:

SortByColumns(Filter('20181217filterSPlist', StartsWith(Title, TextSearchBox1.Text)), "Title", If(SortDescending1, Descending, Ascending))

20181217filtersplist4.png

Then thirdly,create one new screen and insert one gallery to test the filter;

20181217filtersplist6.png20181217filtersplist5.png

Hope this can be helpful.

Best wishes,

xyz

 

Pretty basic list, 5 columns, either text or choice fields.  I'm not having a problem creating a gallery and connecting it to a data source initially. The problem arises the second I try to manipulate the "Items" options such as adding a filter.  As soon as I add anything to the formula bar, the data source changes from the connected SharePoint List to "No Data".

tommyly
Continued Contributor
Continued Contributor

If you have incomplete syntax, I believe it will result in "No Data". Have you tried completing the filter to see if it still says "No Data"?

If you want to test, you can just type something like this (this is pretty much the equivalent of filtering with no filters (but once it's successful, you can replace the True syntax with an appropriate filter):

Filter('Prod Ops Develop Classes',
  True
)

@tommyly

 

It seems to be a step in the right direction as completing the syntax at least made my data source return so hopefully the issue is with my syntax (which would not surprise me at all).

 

My goal is to have a gallery that displays a user's (aka Student) classes in two views based on a toggle switch. One view shows them classes they are interested in, the other view shows them classes they have requested, been scheduled for, or completed.  Finally, I want to sort the gallery by when the item was modified.

 

Sort('ListNameHere', If(Toggle1.Value = true, Filter('ListNameHere', StudentEmail=()User.Email && Status="Interested"))), Filter('ListNameHere', StudentEmail=()User.Email && Status="Scheduled" & "Requested" & "Completed")))), If(SortDescending1, Descending, Ascending) 

I ended up creating two galleries and then just displaying one or other based on the toggle switch in the visibilty property.

 

This is the syntax that ended up working..

For Gallery1:

SortByColumns(Filter('NameOfList', StudentEmail=User().Email, Status.Value="Interested"), "Modified", If(SortDescending1, Descending, Ascending))

 

For Gallery2:

SortByColumns(Filter('Prod Ops Tech Development', StudentEmail=User().Email, Not(Status.Value="Interested")), "Modified", If(SortDescending1, Descending, Ascending))

Hi

I create a SP list and try to test as what you want.

1.I add my email as one of the student's eamil, and the SP list as next;

20181218filtertoggle1.png

2.set the gallery's screen.OnStart: Set(CurrentUserEmail,User().Email) and then I use one label to test whether that is the correct email,(after adding OnStart you need to close and reopen)

20181218screenonstart.png

 

3.Gallery.Items:

SortByColumns(If(Toggle1.Value=true,Filter('20181218Can''t add filters without data disconnecting',StudentEmail=CurrentUserEmail,'Status'.Value="interested"),Filter('20181218Can''t add filters without data disconnecting',StudentEmail <> CurrentUserEmail,Status.Value<> "interested")),"Title",If(SortDescending1, Descending, Ascending))20181218filtertoggle2.png20181218filtertoggle3.png

 

On your side you can set the Gallery's Items:

SortByColumns(

If(Toggle1.Value=true,Filter('ListNameHere',StudentEmail=CurrentUserEmail,'Status'.Value="interested"),Filter('ListNameHere',StudentEmail <> CurrentUserEmail,Status.Value<> "interested")),

"Title",

If(SortDescending1, Descending, Ascending)

)

Hope this can be helpful.

Best Wishes,

xyz

Hi

I create a SP list and try to test as what you want.

1.I add my email as one of the student's eamil, and the SP list as next;

20181218filtertoggle1.png

2.set the gallery's screen.OnStart: Set(CurrentUserEmail,User().Email) and then I use one label to test whether it will show the correct email (after adding OnStart you need to close and reopen the app)

20181218screenonstart.png

3.Gallery.Items:

SortByColumns(

If(Toggle1.Value=true,Filter('20181218Can''t add filters without data disconnecting',StudentEmail=CurrentUserEmail,'Status'.Value="interested"),Filter('20181218Can''t add filters without data disconnecting',StudentEmail <> CurrentUserEmail,'Status'.Value<> "interested")),

"Title",

If(SortDescending1, Descending, Ascending)

)

 

20181218filtertoggle2.png20181218filtertoggle3.png

 

 

On your side you can set the Gallery's Items:

SortByColumns(

If(Toggle1.Value=true,Filter('ListNameHere',StudentEmail=CurrentUserEmail,'Status'.Value="interested"),Filter('ListNameHere',StudentEmail <>(or "=" if you need ) CurrentUserEmail,'Status'.Value<> "interested")),

"Title",

If(SortDescending1, Descending, Ascending)

)

Hope this can be helpful.

Best Wishes,

xyz

Hi @michaele124,

I am sorry I don't know why it duplicate,hope this can't bring trouble to you.

Best wishes,

xyz

tommyly
Continued Contributor
Continued Contributor

I'm glad that is working for you. If that is manageable then I would say that's a good solution. If you want to simplify to one gallery, you can probably do something like this though:

Gallery1.Items=
SortByColumns(Filter('Prod Ops Tech Development',
StudentEmail=User().Email,
If(Toggle1.Value=True,
Status.Value="Interested",
Status.Value<>"Interested"
),
"Modified", If(SortDescending1, Descending, Ascending)
)

Helpful resources

Announcements
Power Apps News & Annoucements carousel

Power Apps News & Announcements

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

Community Call Conversations

Introducing the Community Calls Conversations

A great place where you can stay up to date with community calls and interact with the speakers.

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,359)