I have an approval app that i want to be able to run a clearcollect to filter a gallery.
There are 4 approval levels in this, and i would like to do something like this:
i only want them to see items they are mentioned in. is there a way for a clearcollect to look through ALL the columns listed below and only grab the things that the current User().Email is associated with?
I was able to build one where it grabbed by creator already, but now i need to seek from many columns and im LOST.
I have a gallery like this already, but i think it would need to be a collection. im trying to avoid direct permissions or passwords
this one will work for the 4 level:
There are 3 with the choice of pending.
I'm not sure why it didn't pick up those people columns when i put it in, it picked them up in the other equation. I think i resolved the filters within the app for now though, thank you so much for your assistance @WarrenBelz !
@BHaapi ,
How can Status be multiple choice when you have different options for each ? However you need to address the person column issue, which is not making a lot of sense if they are in your data source.
Status.Value is a multiple choice column. I did try this and it didnt seem to work. i also swapped around the top half for the "Pending" in Status.Value and that didnt work either unfortunately.
i get this, saying that it doesnt seem to find the people columns anymore
@BHaapi ,
You still need to filter everything from a single data source - I will also take a guess here that none of your data source fields are multi-select, so you do not need the in filter - does this suit your needs ?
SortByColumns(
Filter(
'Purchase Approvals',
(
varStatus = 1 ||
(varStatus = 2 && Status.Value = "Pending") ||
(varStatus = 3 && Status.Value = "Approved") ||
(varStatus = 4 && Status.Value = "Declined")
) &&
('Authorization L1'.Email = User().Email && IsBlank('L1 Details')) ||
('Authorization L2'.Email = User().Email && IsBlank('L2 Details')) ||
('Specialty Authorization'.Email = User().Email && IsBlank('Spec Details')) ||
('Final Authorization'.Email = User().Email && IsBlank('Final Details'))
),
"Urgent",
SortOrder.Descending
)
Please click Accept as solution if my post helped you solve your issue. This will help others find it more readily. It also closes the item. If the content was useful in other ways, please consider giving it Thumbs Up.
MVP (Business Applications) Visit my blog Practical Power Apps
I was able to get the clear collect to work! i used the below and it seems to be working.
Hi @WarrenBelz,
I need a filter for
@BHaapi ,
OK - disregard Delegation for the moment - we can probably create a Delegable filter. If you were constructing directly on the List 'Purchase Approvals', what filters do you need to the varStatus options (1,2,3,4)
they are all coming from one SP source: 'Purchase Approvals'. we know that the list will get bigger than 500 so to avoid the stress on the system i split it into several smaller collections based on a Status.Value column: Status approved is colApproved, status decline is colDeclined and everything else is within the variety of "pending" (pending first approval, second approval, special approval, final approval) and that is the one i want to actually split to only grab things that they are mentioned in the aforementioned people columns. right now it grabs all pending but i want it to only grab status pending AND that the User().Email is mentioned in one or more of these columns:
Hi @BHaapi
You have three potential data sources there ApprovalCollection, colApproved, and colDeclined. You cannot use more than one for the potential outcomes of a filter. What are the "rules" for the four outcomes of varStatus, what is the common data source you can filter them all from and what are the "rules" for filtering on each.
WarrenBelz
146,524
Most Valuable Professional
RandyHayes
76,287
Super User 2024 Season 1
Pstork1
65,906
Most Valuable Professional