Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

The Power BI Data Visualization World Championships is back! Get ahead of the game and start preparing now! Learn more

Reply
shaher12
Frequent Visitor

page navigation with RLS Roles

I have table called Departments , have Department column as Finance , Commercial ,...

I have created Roles based on each department

Also i have page navigation panel attached above

I need to make this navigation  affected by the RLS Role

Ex: if Roles equal finance the page navigation must show finance only

image.png

1 ACCEPTED SOLUTION
lbendlin
Super User
Super User

Page Level Security does not exist. Don't waste your time. 

Navigation pages provide very limited value.  You should focus on reducing the number of clicks between user and insight, not on increasing them.

View solution in original post

6 REPLIES 6
HarishKM
Memorable Member
Memorable Member

@shaher12  Hey,

RLS does not control report page visibility, and the Page/Bookmark Navigator visuals can’t be filtered by RLS.

Your best bet will be or Supported options to achieve role‑based navigation

  • Best for hiding pages: Power BI App Audiences


- Publish the report to an app.
- Create audiences per department and include only the relevant pages for each audience.
- Add users/groups to the matching audience. (Separate from RLS, but simplest/cleanest UX.)

  • RLS‑driven custom navigation page (data‑driven)


- Create a Navigation table: PageName, Sort, Department, (optional) ReportSectionId or full Deeplink URL.
- Apply RLS on Navigation by Department.
- Build a table visual listing PageName (filtered by RLS).
- Navigation options:
- Drillthrough: Add a common key (e.g., PageName) to each target page’s Drillthrough filters; users right‑click row → Drill through → target page.
- Deeplink: Store each page’s reportSection id (or full URL) in Navigation and use a Web URL field in the table to one‑click open that page. RLS ensures users only see links they’re allowed to.

  • Separate thin reports per department


- One dataset, multiple “thin” reports with just the relevant pages.
- Distribute via app audiences or separate apps. Easiest to maintain with a shared dataset.

What won’t work

  • Page Navigator/Bookmark Navigator cannot be filtered by RLS.
  • No “page‑level RLS.” Buttons’ Page navigation destination isn’t dynamically data‑driven.


    Thanks

    Haish K 

    If I resolve your issue. Kindly give kudos to this post and accept it as a solution so other can refer this.

Thanks for your intereset but 
It is power bi server not service 
I think there is no solution for it 

v-sgandrathi
Community Support
Community Support

Hi @shaher12,

 

Thank you @lbendlin and @Zanqueta for your response to the query.

We haven’t heard from you on the last response and was just checking back to see if your query was answered.
Otherwise, will respond back with the more details and we will try to help.

Thank you.

lbendlin
Super User
Super User

Page Level Security does not exist. Don't waste your time. 

Navigation pages provide very limited value.  You should focus on reducing the number of clicks between user and insight, not on increasing them.

Zanqueta
Solution Sage
Solution Sage

Hi @shaher12 

 

Dynamic Navigation Using Conditional Formatting

  1. Create a Navigation Table
    • Create a table with columns:
      • PageName (e.g., Finance, Commercial)
      • PageDisplayName (friendly name)
      • PageURL or PageIndex (optional if using bookmarks)
    • This table should include all pages you want to navigate to.
  2. Apply RLS to This Table
    • Apply the same RLS rules to this navigation table as you did for Departments.
    • For example, if the user belongs to Finance, only the Finance row will remain visible.
  3. Create a Navigation Visual
    • Use a Table or Button with conditional formatting:
      • For buttons: Use Action → Page navigation → Based on field.
      • For tables: Use Action → Conditional formatting → Web URL or Page navigation.
  4. Bind Navigation to RLS
    • When RLS filters the navigation table, only the allowed page(s) will appear.
    • If you use buttons, you can create a measure like:
SelectedPage =
SELECTEDVALUE(Navigation[PageName])

 

Then set the button’s Page navigation property to this measure.
 
Important: You cannot hide actual report pages dynamically in Power BI Service; you can only control what navigation options appear. If the user knows the page URL, they could still access it unless you apply RLS to visuals on that page.
 

If this response was helpful in any way, I’d gladly accept a 👍much like the joy of seeing a DAX measure work first time without needing another FILTER.

Please mark it as the correct solution. It helps other community members find their way faster (and saves them from another endless loop 🌀.

 

 

Thanks for your intereset but 
It is power bi server not service 
I think there is no solution for it 

Helpful resources

Announcements
Power BI DataViz World Championships

Power BI Dataviz World Championships

The Power BI Data Visualization World Championships is back! Get ahead of the game and start preparing now!

December 2025 Power BI Update Carousel

Power BI Monthly Update - December 2025

Check out the December 2025 Power BI Holiday Recap!

FabCon Atlanta 2026 carousel

FabCon Atlanta 2026

Join us at FabCon Atlanta, March 16-20, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.