Join us for an expert-led overview of the tools and concepts you'll need to pass exam PL-300. The first session starts on June 11th. See you there!
Get registeredPower BI is turning 10! Let’s celebrate together with dataviz contests, interactive sessions, and giveaways. Register now.
hi All
i have 3 pages.
created a excel file with columns and store it in sharepoint from that using web url connector getting into powerbi.
Team | role | page1 | page2 | page3 | |
A | arvin@gmail.com | admin | TRUE | TRUE | TRUE |
B | arvin@gmail.com | admin | TRUE | TRUE | TRUE |
C | arvin@gmail.com | admin | TRUE | TRUE | TRUE |
A | joan@gmail.com | manager | FALSE | TRUE | FALSE |
B | joan@gmail.com | manager | FALSE | TRUE | FALSE |
C | joan@gmail.com | manager | FALSE | TRUE | FALSE |
Note : create a calculated column using the below formula
Solved! Go to Solution.
Hi @yuktadiya , 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 @yuktadiya , I hope you're doing well! Just checking in to see if you had a chance to review the details shared earlier. If any of the information addressed your needs, feel free to mark it as "Accept as Solution" to help others in the community. Please let me know if you have any further questions!
Hi @yuktadiya ,
I wanted to follow up and see if you’ve had a chance to review the information provided here.
If any of the responses helped solve your issue, please consider marking it "Accept as Solution" and giving it a 'Kudos' to help others easily find it.
Let me know if you have any further questions!
Hi @yuktadiya , 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 arvin@gmail.com should see all buttons, while managers like joan@gmail.com 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
Hi @yuktadiya , 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.
thanks for response
said bookmarks and measures. but in powerbi file there are no bookmarks and measures. can you confirm
Regards
yukta
Hi @yuktadiya ,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.
thanks for response
i think this is RLS and not PLS. when i trying to login as admin and manager it was performing RLS can you please check
Regards
Yukta
Hi @yuktadiya , Thank you for reaching out to the Microsoft Community Forum.
Please refer to the below links:
Page Level Security in Power BI - Microsoft Fabric Community
Page level security with RLS - Microsoft Fabric Community
Object-level security (OLS) with Power BI - Microsoft Fabric | Microsoft Learn
Solved: Row-level security and Page Level Security in one ... - Microsoft Fabric Community
Solved: Page level security in Power BI(Sensitive & Non-Se... - Microsoft Fabric Community
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 for response
but what ever you shared powerbi file. it was not was working as PLS.
can you make changes and re-share powerbi file. what ever show in this link
Page Level Security in Power BI - Microsoft Fabric Community.
Regards
Dilip
Hi @yuktadiya , 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.
can you create a sample and share the powerbi file. i have totally 16 pages. for admin has to access all pages for users need to access the page which we give access
Hi @yuktadiya You can’t reliably use measures for dynamic page navigation in Power BI Service, as it often breaks after refresh. Instead, use bookmarks and the selection pane to show/hide page content based on roles. Implement Row-Level Security (RLS) to filter data per user and control visibility within pages.
User | Count |
---|---|
84 | |
79 | |
71 | |
48 | |
43 |
User | Count |
---|---|
111 | |
54 | |
50 | |
40 | |
40 |