Join us at FabCon Atlanta from March 16 - 20, 2026, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.
Register now!To celebrate FabCon Vienna, we are offering 50% off select exams. Ends October 3rd. Request your discount now.
I came across an article which expands on the use of row level security down to the page level using RLS.
Here's the article link: Page (Tab) Level Security & Conditional Navigation in Power BI! (linkedin.com)
And here the link to download the sample pbix:
https://github.com/mustafaasiroglu/sampledata/blob/master/Conditional%20Navigation%20with%20RLS.pbix
As I was going through and testing this and ran into some challenges and wanted to see if anyone else had encountered these challenges and whether they found a solution to them or not.
Challenge 1:
Though a user may not be able to see the button that leads to the page that he/she shouldn't be accessing, if there is drill-through functionailty to that page, a user can still navigate to that page using drill-through. How can we prevent that and still maintain the existance of drill-through?
Challenge 2:
How would we apply this form of RLS in embedded scenarios?
Scenario:
We have a company table which contains the unique id's of all users who access the report.
Creating roles as shown in the sample pbix is not an option.
How can we approach establishing a connection via table filter DAX expression and a disconnected parameter table (Our Page Navigation Table) Using a single role AND a single page navigation parameter table?
Images of my current samples below:
Current Role Setup:
analytics_company Table which contains unique userid's for RLS. NOTE: I added a Custom Column [Custom] to try and establish a connection to the page navigation table. (Values of 0 only access free pages. Values of 1 access Premium Pages)
Current Page Navigation Table. The route I attempted was to establish a connection between the "Custom" column of the table above with the [Customer Status] column below and setup a table filter DAX expression in Role Management where [Customer Status] = The current [Custom] status of the user who's viewing the report.
The result would than be (If the user is a premium user) The table below filtering to only show only rows 2, 4 & 5
Here is an example corresponding DAX measure i used to test navigation to a page marked as premium:
Did you ever find a workable solution to this? I used the same DAX formulas, created the buttons and RLS but its not working. When I test the roles - the table itself filters correctly but the pages do not repsond.
Appreciate any help here, thanks!
HI @mpicca13
Did this help with your scenario? If this is a case, you can consider accepting it to help others who faced the same issue to find it more quickly.
If the above not help, please feel free to post here with detailed information and description, then we can test and troubleshoot on it.
How to Get Your Question Answered Quickly
Regards,
Xiaoxin Sheng
HI @mpicca13,
#1, Current power bi RLS filter not able to achieve this. You can only filter on the corresponding report page visuals source data to show blank results instead of controlling the access ability of drill features.
#2, What type of embed feature you mean? 'Publish to web' or 'power bi embedded'? If you mean 'publish to web', it did not support the report with RLS. You can try to use power bi embedded instead.
Publish to web from Power BI#limitations
Regards,
Xiaoxin Sheng
User | Count |
---|---|
98 | |
76 | |
74 | |
49 | |
26 |