This article seems to indicate that security filters are applied before sending the data to the app. I would assume that the calculation of which records are in the slice, would be part of the app’s calculation after the security filter is applied. So my guess would be to use your LOOKUP() expression. “Guess” being a key word here though. Would be very interested in other peoples’ responses as well.
security filters are applied before sending the data to the app.
But you actually CAN use slices inside the security filter formula - AppSheet has handled all the order of operations to make sure everything is handled correctly and the appropriate security criteria is followed - even if there’s slices and virtual columns that need to be calculated first.
For instance, the following security filter is on the Clients table of my Time-Tracking app
You can see I make user of “Current_User” - a slice of the User table - and a column called [Auto_Status] (which is a virtual column). So when loading the app, the following must happen:
The user table is loaded (no security filter on this table - as I’m using it to determine who’s-who)
The virtual columns of the User table must be formulated (because I make use of a virtual column for the security filter)
The Current_User slice must be evaluated and populated (because it’s used in the filter)
Then the security filters can be applied
This is an older out-dated formula that needs to be reformulated to be more efficient
But it get’s my point across.
I should also point out that in my case, I need all the records in the user table so I can accomplish other tasks.