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

  • 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.

6 Replies

  • v-prasare's avatar
    v-prasare
    Community Support

    We would like to follow up to see if the solution provided by the super user resolved your issue. Please let us know if you need any further assistance.

     

    Ilgar_Zarbalilbendlin  Thanks for your prompt response

     

     


    Thanks,

    Prashanth Are

    MS Fabric community support

  • Page level security DOES NOT EXIST. Try not to waste your time.  Use separate reports.

  • 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.

  • v-prasare's avatar
    v-prasare
    Community Support

    Hi SaikumarV,

    We would like to follow up to see if the solution provided by the super user resolved your issue. Please let us know if you need any further assistance.

     

     

     


    Thanks,

    Prashanth Are

    MS Fabric community support

  • v-prasare's avatar
    v-prasare
    Community Support

    May I ask if you have resolved this issue? If so, please mark the helpful reply and accept it as the solution. This will be helpful for other community members who have similar problems to solve it faster.


    If we don’t hear back, we’ll go ahead and close this thread. For any further discussions or questions, please start a new thread in the Microsoft Fabric Community Forum we’ll be happy to assist.
    Thank you for being part of the Microsoft Fabric Community.

  • Hi,

    Here is how I've implemented a "page level security":

    Requirements: 

    • Two groups of users: Group 1 can see all the pages + page A / Group 2 can see all the pages +page B (instead of A)

    Solution:

    1. Create a new table (in power query) "Pages" with one column "Page" and insert two rows, with the exact names of the pages ("Page A", "Page B") 
    2. Create 2 functions: 
      1. Page A, where column Page = "Page A" 
      2. Page B, where column Page = "Page B"
    3. Hide the pages A and B
    4. Insert a button to navigate to your desired page (A or B), based or the logged user, button action = page navigation, using function Field Value, "First Page", First.
    5. After publishing you report, go to the RLS settings and set up your users according to their permissions