Forum Discussion
How to implement the page level filter in a report.
- 1 year ago
To show/hide pages based on user roles like Developer vs. Manager, use page navigation with RLS logic, because Power BI does not natively support page-level security.
Steps to Implement:
1. Create a Role Column in a Table:
- Example: UserAccess table with columns: Username, Role
- Add rows like:
[email protected], Developer
[email protected], Manager
2. Create an RLS Role:- Go to Modeling → Manage Roles
- Use DAX:
[Username] = USERNAME()Read my Article: https://www.linkedin.com/pulse/row-level-security-azepowerbicommunity-gqs4e/?trackingId=fdsyEb0CQhibpWlRSOMeUg%3D%3D
3. Create a Navigation Table:
- List your page names: "Main", "Manager Page", etc.
4. Create a Navigation Button on Main Page:
- Use conditional formatting to show/hide buttons or use a slicer-driven navigation logic:
ShowManagerPage = IF(SELECTEDVALUE(UserAccess[Role]) = "Manager", 1, 0)
5. Hide Sensitive Page:- Remove direct access via tabs.
- Add buttons only visible to Manager role to navigate to the restricted page.
- Use Bookmarks + Selection Pane to manage visibility.
This way, Managers can access all pages, but Developers won’t see buttons leading to restricted content — even though pages technically still exist in the report.
Page level security DOES NOT EXIST. Try not to waste your time. Use separate reports.