For the longest time I have been using SELECT statements to form my app around who is using it. I have known for quite a long time that this is not the most efficient way to go about it and recently decided to change this.
An interesting post I found by @MultiTech_Visions regarding this is here Current_User (Slice).
Generally, his method of conforming the app around WHO is using it, works wonderfully. Everywhere I was using SELECT statements, the expression builder dutifully informed me that the expression could impact performance. When I replaced those select statements with INDEX statements based on @MultiTech_Visions example, the expression builder no longer reported any performance issues.
The one exception has been with restricting views.
The expression IN(INDEX(CurrentUser[Role],1),LIST(Admin, Manager)) evaluates correctly BUT, the view is not shown.
The expression IN(ANY(SELECT(Users[Role], USEREMAIL()=[UserEmail])), LIST(Admin,Manager)) also evaluates correctly and DOES show the view.
Both expressions evaluate to the same results yet have opposite effects?
Any ideas would be greatly appreciated.
Solved! Go to Solution.
Thank you @WillowMobileSystems.
Turns out to have been the allow updates SWITCH statement.
Removing the SWITCH statement from the table has allowed all the expressions Iโve tried thus far to function properly.
Now, I need to figure out how to use a similar expression with the SWITCH statementโฆ
User | Count |
---|---|
43 | |
27 | |
24 | |
23 | |
13 |