Enable Dynamic RLS Role Switching via Slicers in Power BI
Power BI currently applies only one RLS role per user per dataset, evaluated before the report loads. Because of this, slicers or disconnected tables cannot be used to let users pick which role they want to view the report as (e.g., SuperUser vs CompanyHR vs Self).
This creates a major limitation for users who legitimately have multiple roles. In real scenarios, a user may need to switch between their restricted view (HR) and full view (SuperUser), but Power BI always forces the most permissive role and offers no way to choose.
The only supported workaround today is creating multiple datasets and duplicated reports, which becomes unmanageable and not scalable as the number of roles grows.
Requested Feature:
Allow users to choose their active RLS role dynamically inside the report—using a slicer, parameter, or a built-in role selector. RLS should respect the user’s choice among the roles assigned to them.
This would avoid dataset duplication, reduce maintenance, and support common enterprise use cases where users hold multiple roles.
Why This Is Important
Many enterprise scenarios involve users who hold multiple business roles, such as:
SuperUser + Company HR
Manager + Auditor
Global Admin + Regional Admin
Internal + External View
Multiple market/country responsibilities
These users need the ability to explicitly pick which role they want to use for a report, not always default to the most permissive one.
Proposed Enhancement
Introduce a new RLS feature such as:
Dynamic RLS mode
Allow RLS expressions to reference a special runtime value (e.g., RLSSELECTEDROLE()) set by a slicer or parameter.
Session-based role override
After login, users can pick one of their assigned roles for that session.
UI-based role selector
A Power BI native visual that lists roles the user has access to, enabling runtime switching.
Dataset-level “multiple active roles” mode
Allow RLS to author rules based on a user’s chosen role rather than forcing one default.
These changes would keep security intact while allowing more flexible, real-world role behavior.
Thanks for considering this. Let me know if further clarification is needed.
Recent ideas
Power BI - incorrect handling of empty string parameter in DAX query in paginated report
Blank string parameters in paginated reports are treated as empty strings in Power BI Report Builder but as null values in the Power BI Service, resulting in incorrect report output. -> Create a pag...roshinikumarkar1 hour agoMicrosoft EmployeeNew19Views5likes0CommentsAllow NotebookUtils getSecret() to authenticate with Workspace Identity
Current behavior In Microsoft Fabric, notebookutils.credentials.getSecret() authenticates against Azure Key Vault using the identity of the user who executes the notebook. This behavior appli...tmihara2 hours agoNew MemberNew16Views1like1CommentAllow us to rename fabric data agents published to m365
If we use deployment pipelines to promote fabric data agents between dev, test/UAT, and prod fabric workspaces, we need to keep the name of the fabric agent the same in each workspace. If we want to ...PeterDaniels9 hours agoAdvocate IIINew186Views0likes2Comments