cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
Highlighted
Helper II
Helper II

Formula for delegable filter, show all items with several criteria, EXCEPT if...

Hi, 

 

First time using a Sharepoint List, and getting my head around the delegable queries.  

 

The records are all peoples names & addresses.  

 

The Gallery should:

  • Filter the addresses down to six postcodes/same as US zipcodes (this works), postcodes are stored in the datacard values
  • EXCEPT if the person has been blacklisted, there is a column with a simple 'Y' or 'N', updated on another screen with the patch function, "Y" in the column if they're blacklisted, blank cell or "N" if they're not blacklisted.

This is the gallery items code for part 1 (this works)

SortByColumns(Filter([@AppCandidateData],

StartsWith('Postcode', DataCardValue41_3.Text)

||StartsWith('Postcode', DataCardValue43_2.Text)

||StartsWith('Postcode', DataCardValue44_6.Text)

||StartsWith('Postcode', DataCardValue45_5.Text)

||StartsWith('Postcode', DataCardValue46_4.Text)

||StartsWith('Postcode', DataCardValue47_3.Text)),

"Post", If(SortDescending1, Descending, Ascending))

 

This is the change I've made below in black is to ask for it to only show people who aren't blacklisted in the gallery, but it seems to just show everyone from the six postcodes in the gallery, exactly the same as the green formula above.

SortByColumns(Filter([@AppCandidateData],

StartsWith('Postcode', DataCardValue41_3.Text)

||StartsWith('Postcode', DataCardValue43_2.Text)

||StartsWith('Postcode', DataCardValue44_6.Text)

||StartsWith('Postcode', DataCardValue45_5.Text)

||StartsWith('Postcode', DataCardValue46_4.Text)

||StartsWith('Postcode', DataCardValue47_3.Text) && Or(Blacklisted=" ",Blacklisted="N"),

"Post", If(SortDescending1, Descending, Ascending))

 

Any help would be ,much appreciated 🙂 thanks

1 ACCEPTED SOLUTION

Accepted Solutions
Highlighted

Hi, I think I might have got this to work with your help!

 

I've had to add a comma and a parenthesis, also swap out the ISBLANK for ="" as it was giving me a delegation issue, but with the alterations, I've dropped it into the app and it seems to work so far.  Please could you let me know if what I've updated to looks below ok to you?  It's handling quite a lot of data so it's not easy to see quickly if everything is working as it should, but, so far so good I think(?)!

 

Thank you so much!

 

SortByColumns(
Filter(
Filter(
[@AppCandidateData],Or(
IsBlank(
Blacklisted=""
),Blacklisted="N"
)
),
Or(StartsWith('Postcode', DataCardValue41_3.Text),
StartsWith('Postcode', DataCardValue43_2.Text),
StartsWith('Postcode', DataCardValue44_6.Text),
StartsWith('Postcode', DataCardValue45_5.Text),
StartsWith('Postcode', DataCardValue46_4.Text),
StartsWith('Postcode', DataCardValue47_3.Text)
)),
"Post",
If(SortDescending1, Descending, Ascending))

View solution in original post

4 REPLIES 4
Highlighted
Super User III
Super User III

Hi @jbjb247 , 

There may be a better way to do this but I would first filter the dataset to remove blanks and "N" responses to the Blacklisted column first and then filter the results by the post codes.

 

 

SortByColumns(
 Filter(
   Filter(
    [@AppCandidateData],Or(
                            IsBlank(
                                      Blacklisted
                                     ),Blacklisted="N"
                             )
          )
Or(StartsWith('Postcode', DataCardValue41_3.Text),
StartsWith('Postcode', DataCardValue43_2.Text),
StartsWith('Postcode', DataCardValue44_6.Text),
StartsWith('Postcode', DataCardValue45_5.Text),
StartsWith('Postcode', DataCardValue46_4.Text),
StartsWith('Postcode', DataCardValue47_3.Text)
     ),
       "Post",
       If(SortDescending1, Descending, Ascending))

 

 

This seems awkward to me but I think I have all the parentheses and commas correct. Hopefully it will work.  One quick question, do you think that after filtering by the post codes or by the blacklist, you will have more than 2k records?  If not, you could create a collection from the filtered list from one of the filters (post codes or Blacklist) and then filter that collection by the other one. 

Highlighted

Hi, I think I might have got this to work with your help!

 

I've had to add a comma and a parenthesis, also swap out the ISBLANK for ="" as it was giving me a delegation issue, but with the alterations, I've dropped it into the app and it seems to work so far.  Please could you let me know if what I've updated to looks below ok to you?  It's handling quite a lot of data so it's not easy to see quickly if everything is working as it should, but, so far so good I think(?)!

 

Thank you so much!

 

SortByColumns(
Filter(
Filter(
[@AppCandidateData],Or(
IsBlank(
Blacklisted=""
),Blacklisted="N"
)
),
Or(StartsWith('Postcode', DataCardValue41_3.Text),
StartsWith('Postcode', DataCardValue43_2.Text),
StartsWith('Postcode', DataCardValue44_6.Text),
StartsWith('Postcode', DataCardValue45_5.Text),
StartsWith('Postcode', DataCardValue46_4.Text),
StartsWith('Postcode', DataCardValue47_3.Text)
)),
"Post",
If(SortDescending1, Descending, Ascending))

View solution in original post

Highlighted

@jbjb247 

Looks good to me.418TGXcvGaL._AC_.jpg

 

Highlighted

Haha!!

 

Thank you!

Helpful resources

Announcements
Community Conference

Power Platform Community Conference

Check out the on demand sessions that are available now!

News & Announcements

Community Blog

Stay up tp date on the latest blogs and activities in the community News & Announcements.

secondImage

Power Platform 2020 release wave 2 plan

Features releasing from October 2020 through March 2021

Community Highlights

Community Highlights

Check out the Power Platform Community Highlights

Top Solution Authors
Top Kudoed Authors
Users online (9,621)