Forum Discussion

SaikumarV's avatar
SaikumarV
New Member
1 year ago
Solved

How to implement the page level filter in a report.

how to hide a filter page from a report where developer can see 3 pages but manager can see all pages from the report.How to implement this power bi
  • Ilgar_Zarbali's avatar
    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.