Is it possible for my user to see rows that a...

expressions
(Tina Cheng) #1

Is it possible for my user to see rows that aren’t assigned to them in our dataset? My expression seems to be working where everything in my managers table has access to all rows of data and only Captain Email and Captain Email2 are limited to specific rows of data where I assigned them.

One of our users said they could see some “fake” data that I was using as a test which was assigned only to me.

??

OR(IN(USEREMAIL(),Managers[Email]), USEREMAIL()=[Captain Email], USEREMAIL()=[Captain Email2])

There is a warning in the documentation: Our dataset is about 300 or so rows. Doesn’t seem that large to me.

What does inefficient mean?

"more complex Security Filters like the one above are typically inefficient when used with large datasets. "

We removed the fake data rows and I hope it’s just a glitch that needs some syncing and refreshing of data.

Weird. Any thoughts?

(Aleksi Alkio) #2

If you have (or you will have) lot of managers, every record needs to check the same manager list over and over for every row when the security filter is triggered and that’s why the warning. If you have just few emails for managers, better approach could be IN(USEREMAIL(),{nameA@email.com,nameB@email.com})

(Aleksi Alkio) #3

For the other question… could you show that record (at least part of) and what email address the user was using when he/she saw the fake data.

(Tina Cheng) #4

@Aleksi_Alkio the user email was jeleong@gmail.com; the fake houses data were the first 3 rows and her email was not assigned to them. She saw two rows of it. I deleted the rows now but don’t know what she sees yet.

(Tina Cheng) #5

@Aleksi_Alkio I only have three emails in my managers table. That’s not a lot right? Can you write the expression with your suggestion but I still want to incorporate the three users to see all data rows and only captain email and captain email2 seeing specific rows?

OR(IN(USEREMAIL(),Managers[Email]), USEREMAIL()=[Captain Email], USEREMAIL()=[Captain Email2])

(Aleksi Alkio) #6

OR(IN(USEREMAIL(),{nameA@email.com,nameB@email.com}),USEREMAIL()=[Captain Email],USEREMAIL()=[Captain Email2])