Forum Discussion
page level security
- 1 year ago
Hi Anonymous , There is no official default way to have Page level security in Power BI. While I did say we can use a workaround where we can use measures to restrict access and use page navigation, that was based on my general experience in Power BI and I am sorry if that misled you, wasn’t my intention. I have tried to do this but found not only that this isn’t possible, but the only sure workaround is also what I already gave you in the .pbix file with landing page and page navigation (using bookmarks).
I improved on that workaround by changing it a bit. Now there is a Main page with buttons for Admin and Manager. When you click on Admin, you can view the buttons for pages that admin has access to (all of them in this scenario) and when you click on Manager, you can view the buttons for pages that Manager has access to. There you can use those buttons to navigate to the respective pages. You can base this to build your own report as needed.
Please check the .pbix for your reference.
Hi Anonymous , Thank you for reaching out to the Microsoft Community Forum.
In Power BI, Page Level Security is not possible directly. But there are a few workarounds to do this.
Avoid using DAX measures for page navigation. These are unreliable in the Power BI Service and often fail after refresh. Instead, use a single landing page with buttons, bookmarks and Row-Level Security (RLS) to control access and visibility. Start by connecting to your Excel file stored in SharePoint. The data should include columns like Team, Email, Role, and Page1 through Page16, with TRUE/FALSE values indicating access. You can add a calculated column for display if needed. For example:
Page1_Status = IF(Sheet1[Page1] = "TRUE", "Control In-Scope", "ABC")
In Power BI Desktop, define Row-Level Security by navigating to Modeling -> Manage Roles. Create two roles: one for Admin, where you set the filter as [Role] = "admin" to grant full access to all data and another for Manager, using [Email] = USERPRINCIPALNAME() to ensure each user only sees the data associated with their own email.
On your report, create a single “Main Page” with 16 buttons labeled “Page 1” through “Page 16”. For each logical page, group the visuals using the Selection Pane. Then create bookmarks like Show_Page1, each showing one visual group and hiding the others. Assign each button an Action -> Bookmark, linking it to the correct bookmark. To control which buttons appear for each user, create DAX measures for visibility. For example:
CanAccessPage1 =
CALCULATE(
COUNTROWS(Sheet1),
Sheet1[Email] = USERPRINCIPALNAME(),
Sheet1[Page1] = "TRUE"
) > 0
Repeat for each page. Then, for each button, go to Format -> General -> Properties -> Visible -> fx and bind it to the corresponding measure. This way, users only see buttons for pages they’re authorized to access. Test this using the “View as” feature in Power BI Desktop. Admins like [email protected] should see all buttons, while managers like [email protected] should only see the pages they've been granted access to. After publishing to the Power BI Service, go to Dataset -> Security and assign users to the correct roles. Optionally, you can personalize the experience by showing a welcome message using:
WelcomeMessage = "Welcome, " & CALCULATE(MAX(Sheet1[Role]), Sheet1[Email] = USERPRINCIPALNAME())
If this helped solve the issue, please consider marking it “Accept as Solution” and giving a ‘Kudos’ so others with similar queries may find it more easily. If not, please share the details, always happy to help.
Thank you.
thanks . can you create 2 pages and share powerbi file. please
Regards
yukta
- v-hashadapu1 year agoCommunity Support
Hi Anonymous , Thank you for reaching out to the Microsoft Community Forum.
Please refer attached .pbix file for your reference and share your thoughts.
If this helped solve the issue, please consider marking it “Accept as Solution” and giving a ‘Kudos’ so others with similar queries may find it more easily. If not, please share the details, always happy to help.
Thank you.- Anonymous1 year agoNot applicable
thanks for response
said bookmarks and measures. but in powerbi file there are no bookmarks and measures. can you confirm
Regards
yukta
- v-hashadapu1 year agoCommunity Support
Hi Anonymous ,I understand the confusion. In my earlier response, I provided a detailed and complex solution based on my experience. However, when I was reproducing it in Power BI, I realized that such complexity was unnecessary. Therefore, I have given you the .pbix file with a simpler, more straightforward solution that does use bookmarks but not measures. It should resolve your issue as it is the only reliable workaround.
Thank you.