Join us at FabCon Atlanta from March 16 - 20, 2026, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.
Register now!The Power BI Data Visualization World Championships is back! Get ahead of the game and start preparing now! Learn more
I have tried multiple alternatives mentioned in https://docs.microsoft.com/en-us/power-bi/guidance/rls-guidance
but RLS is still not fast. For example, without RLS, reports work very fast (almost instantaneous) but after applying RLS, some of them take a very long time (almost 1 min in some cases). So I'm guessing it comes down to a faster alternative for CONTAINSSTRING dax query.
Scenario:
ROWS: ~300K
Security logic:
1. string concatenated email id's of users (;abc@msft.com;bcd@msft.com;cde@msft.com)
2. containsstring([VIEWERS],(lower(USERPRINCIPALNAME())))=TRUE for the role where VIEWERS contains this concatenated email id's
Am I doing anything wrong in the logic above? We have a lot of business rules, hence concatenating email id's in the backend based on the logic seemed like the best option.
Any suggestions would be helpful.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.