Last week I was trying to embed a Power BI report into a SharePoint online page. I wanted users in my organization with a free license to be able to see the reports. Sounds easy? I opened the help documentation and went ahead. Unfortunately it was not as easy as it seems as the documentation was missing one crucial point (this will be updated soon).
Steps to get it to work
In the end I got it to work. These were the steps I used:
- The author of the report is has Power BI Pro (user 1).
- The report consumer (User 2) has a PBI free license
- I created a report a in workspace 1 as user 1. The workspace is hosted on premium so User 2 can view the content.
- To give access to the report with a large set of users we use apps. Apps support the giving access to groups.
- So I created an app containing the report.
- Next share I it with myself and the target audience. I used “Install app automatically” to make sure the app is installed and the user has access.
Remember: To have access to the report you need to have the app installed.
- Now I open the app myself (as user 1) and go to the report
- After opening the report I can get the embed report URL
This is key to making it work! Use the report installed by the app and not the one from the workspace!
- Now that we have the URL we can create a new team site in SharePoint
- I now add the report URL I copied in step 7 to the PBI web part.
- After publishing the SharePoint page I can see the page successfully, including embedded Power BI report:
- Now I add user 2 as member to the SharePoint page
- I now open a in private browser and log in to SharePoint as user 2
- I now go the team site as user 2. Remember: User 2 needs to have a Power BI license. You can bulk assign free licenses to your users if you don’t want them to get a pop up at this point.
- When user 2 opens the page he can see the report embedded in SharePoint.
So in short the following items are needed:
- Create an app for the report that you want to share
- Share the app to the users\groups who need to see the report, when the app is installed on their Power BI they have access.
- You can install the app as part of the app configuration so they don’t have to install it themselves.
- Copy the embed report URL from the app, not the workspace (this is key!)
- Give access to the SharePoint page to the same group as where you embed your Power BI report.
After the introduction of WS v2
Now this looks pretty complicated but with the new workspaces that are in preview today, and described here, this is going to be much easier. AFter this has gone live you can just replace all the steps above with the following:
- Create a report in a workspace
- Add the group you want to see the report as “Viewer” to the workspace
- Now just embed the page from the workspace in SharePoint
- Done No more messing about with apps to control security.
8 Replies to “Embed Power BI reports in SharePoint online using Apps”
Try to pass a parameter from app to Bi report
A Power BI app is not configurable to have parameters.
I am about to implement this for a client so this is great.
Question: Is Premium required for the free users to view Power BI reports on sharepoint? For us this is the main issue.
In general (using sharepoint or not) if someone shares a report with someone else the receiver either needs to have a pro license or the report needs to run on premium.
Can you explain step by step how can I create an app containing the report?
To create an app you can follow these steps: https://docs.microsoft.com/en-us/power-bi/service-create-distribute-apps. Now open the app yourself and open the report. Then copy the URL from that report.
Hope that helps,
When I use “Install app automatically” I use groups, but I want to check if all use got the app.
Where can I see how many user (and who) that have got the app.
Thank you this was exactly the step I was missing.