Forum Discussion

Manoj21011988's avatar
Manoj21011988
New Member
1 year ago
Solved

Need Help - Control Page Navigation

Hi All,

I'm currently working on a Power BI report where I need to restrict access to certain pages for specific users. Unfortunately, I'm not in a position to use Power BI Apps or create separate reports, so everything needs to remain within a single report.

I've explored a few options, such as controlling the visibility of buttons or shapes to navigate between pages. However, I haven't been able to find a way to dynamically control their visibility using DAX - those options just don't seem to appear for me.

Has anyone faced a similar challenge or found a workaround to conditionally hide/show pages or navigation elements based on user roles or filters, all within the same report?

6 Replies

  • You can follow this approach, I tested it and it will work

    https://www.youtube.com/watch?v=FrEDZZXiit8

     

    but remember there is a loop hole in this method, every time a person opens a specific page, reportSection id will appear in the report URL, so if one person shares that id to other person then users can easily by pass the page level security that you are trying to implement using RLS and DAX. 

     

     

     

     

     

     

     

    Connect on LinkedIn

     

     

     








    Did I answer your question? Mark my post as a solution!
    If I helped you, click on the Thumbs Up to give Kudos.

    Proud to be a Super User!


  • Hey Manoj21011988 ,

    Yes, I have faced this challenge before, and you are right Power BI does not currently support dynamic page-level security like it does for rows. A common workaround that works well within a single report:

    • Use a landing page as your main navigation hub.
    • Create navigation buttons (using shapes or buttons) to other pages.
    • Control the visibility of these buttons using measures + selection pane.

    Steps I Followed:

    1. Create a DAX measure to check user identity:

      ShowAdminPage = IF(USERPRINCIPALNAME() = "[email protected]", "Go to Admin Page", BLANK())
    2. Use that measure in a card visual placed over the button and set transparency (or use bookmark workaround).

    3. In the Selection Pane, toggle the visibility of the navigation buttons by layering a blocking shape/card that only appears for unauthorized users.

    It's not true page-level security, but it’s a practical UI-driven method that works in many cases.

     

     

    For Detailed Information:

    Dynamic Navigation Based on User in Power BI – SQLBI

    Create navigation experiences in reports – Microsoft Learn

    Tips for Using USERPRINCIPALNAME in Power BI – RADACAD

    Power BI Button Visibility Workaround Using DAX – Excelerator BI

    Page Navigation Without Page Access – PowerBI Community Thread

     

    If you found this solution helpful, please consider accepting it and giving it a kudos (Like) it’s greatly appreciated and helps others find the solution more easily.


    Best Regards,
    Nasif Azam

  • I have same question before, tried with RLS and DAX role indicator measures AI provided but still couldn't figure out how. Hopefully someone with a tested solution can help. 

  • Page Level Security is not a thing. Create separate reports.

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

    Hi Manoj21011988,

     

    Thank you for reaching out to Microsoft Fabric Community.

     

    Thank you Nasif_Azamlbendlin and tharunkumarRTK for the prompt response.

     

    As we haven’t heard back from you, we wanted to kindly follow up to check if the solution provided by the user's resolved your issue? or let us know if you need any further assistance.
    If any response resolved your issue, please mark it as "Accept as solution" and click "Yes" if you found it helpful.

     

    Thanks and regards,

    Anjan Kumar Chippa