First Im checking if the email is one of the admin emails, These have access to everything, otherwise I want to check if the email has access to that specific vendor. Problem is all emails are getting access to vendors.
I have had some apps going back many years that would not work properly with IN() for me so I just gave up trying and use CONTAINS() accepting the shortcoming.
It’s possible that IN() works in some cases and in some cases not; I have not had the time to investigate further as to why (or rather when) it doesn’t work. Would be nice to research further.
If this has been an issue for a while, is the team investigating this? @Steve Is this something you could bring to there attention? Seems kind of strange that a security filter has holes in it. Security filters should be dead solid and should be the teams main focus to make sure it is up to par.
This works for admins not for emails in my security table OR(In(useremail(),Admin Emails[Email]), In(useremail(), Select(Security Filters[email],[Vendors] = [_THISROW].[ID])))
Could you please mention the column types [email] and [Vendors] in Security Filters table. Also presume [ID] column is text or number type and in the table for which security filter expression is being used.
If the sub expression Select(Security Filters[email],[Vendors] = [_THISROW].[ID]) is returning a list of email IDs from the Security Filters table , then the overall expression, that is In(useremail(), Select(Security Filters[email],[Vendors] = [_THISROW].[ID])) also looks good as per my understanding.