Publish to Web feature of Power BI is not a very new or hot topic, However I still get questions about what this feature is, and how it is difference with Power BI Embedded. It would be a very long discussion if I want to both explain these two features, and compare them here. So in this post I’ll explain Publish to Web, and in next posts I’ll explain about Power BI embedded, and their differences. In this post you will learn how easy is to share your report with public through a web page which can be your blog post, and HTML page, or any other web pages. Some questions also about this feature answered through the content of this post. If you like to learn more about Power BI, read Power BI online book; from Rookie to Rock Star.
What is Publish to Web?
Once you published your Power BI report into Power BI Service (or website), then you can share it with others through creating a dashboard, or groups in Power BI. What if you want to share it with public through the web? Let’s say you want everyone to see the report and play with it (with all interactive features that you have in Power BI). The answer is; use Publish to Web. Publish to web allows you to create an embedded code for Power BI report, and use that code in a web page. This simple feature will enable everyone to access the report. They won’t be able to edit the report, but they will see the report and the report will be fully interactive for them so they can highlight items, select slicers, and drill down.
How to Do It?
Using this feature is very simple. All you need to do is first deploy or publish the report into Power BI website or service. and there click on the report (not dashboard). Once you opened the report click on File menu option and choose Publish to Web.
Then you will be informed about this feature in a message box that mentions this step will create a link and embed code for you to share with the world through a website or even email. Click on Create embed code below.
Again because this is all about sharing a report and obviously the data in the report, you will be informed again to check confidentiality of the data and report, and make sure you are sharing the content that is not harmful for an organization or someone when it is view-able for public.
After clicking on Publish above you will see the embed code plus a link to share through email if you want. You can also choose the size of screen for embed code.
You can browse the link right now to see the report in browser
For browsing the report you don’t need to login to Power BI service. In fact people for viewing this report won’t need anything. And as you see report is fully interactive and users can highlight, select or deselect items.
You can also use the embed code and add it to your HTML page, or blog post or wherever you want them to see the report. Here is I embedded my code;
and after adding the embed code full interactive report will be visible in my page like this:
What You Share is for Everyone!
The first thing you might think is usually security. How you can manage security on this? The short answer is there is no security here. The report is shared through the web, or email, with EVERYONE. so everyone who has the link or embed code can access the report. They cannot edit it. but the can view it with no restriction.
All Report Pages Are Visible
If you have a report with 10+ pages, all of them would be visible to browsers. You can not limit which pages you want to show and which you don’t. as an example the report you see above has more than one page, and you can view all of them. I recommend creating different reports if you want to restrict some pages, and share them separately.
Link or Embed code is Synchronized with the Report
If you make any changes to the report, all changes will be synchronized, because link or embed code are just references to this report. So People will see always the latest version of your report. If you also want to keep the report up-to-date you can schedule it for data refresh.
Removing the Access is Easy!
If for some reasons, you want to revoke the access for everyone to the report you can do it easily. Just go to power bi website or service, and under Setting, click on Manage Embed Codes
Here you will see the embed code created, and you can delete it.
Please note that once you delete the embed code, no-one would be able to access this report from public web. You will see a notification message about it.
If you go ahead, and delete the embed code. all links and embed codes will show a message to public web users that this content is not available.
Difference with Sharing?
If you played with Power BI before, you know that you can share your dashboards with people in your organization. This feature is totally different from embed code. Here are some differences between sharing dashboard and embed code;
- You Share a Dashboard not a Report
- Only those who has access to the dashboard will see the content
- You can also give EDIT access to those who you want
- You can Share dashboard, report, and data set with a group in Power BI
- Dashboard link which is shared to public won’t show anything if they are not authorized to see it.
You Share a Dashboard not a Report
If you click on the ellipsis button beside a dashboard you can share it with others in your organizations with their Power BI accounts.
Only those who has access to the dashboard will see the content
Once you share a report, you can choose who has access to see it based on their Power BI accounts. You can give them Edit access if you want as well.
You can also give EDIT access to those who you want
You can set access to Owner, Edit, or View for each user or group. and you can revoke this access anytime you want from the Access tab in sharing pane.
Dashboard link Works Only for Authorized Users
In Spite of having the dashboard link available in the Access tab of sharing pane; Only authorized users can see the content when browse the link. Otherwise they will see a message that says they don’t have permission to view this dashboard.
Power BI Groups is For Authorized Group of Users in Your Organization
You can share dashboards, reports, and data sets with a group which is an Office 365 group in your organization. And users of this group will have access to all content shared under the group. Anyone outside of the group won’t be able to see anything. To learn more about Groups in Power BI read this post.
Public Access or Organizational Sharing
Last but not least; the difference between Publish to web, and Sharing is all about difference between giving public access or sharing a content in the organization.
With Sharing dashboards or using Power BI groups you can share content with other users. These users SHOULD BE Power BI users, they cannot access content anonymously. They need to LOGIN to Power BI service to access the content.
With Publish to Web EVERYONE access the report even if they don’t have Power BI account. They don’t need to login. they can browse the page that contains Power BI embed code with no restriction on viewing the report.
Power BI Embedded
Now that you know about Publish to web, I can explain how Power BI embedded works in a nutshell. Power BI Embedded brings Power BI into applications. Yes you can share your Power BI report through an application with API Keys. And you share the report with application users, even if they don’t have Power BI accounts. However you are much more flexible here. You can choose which reports you want to share with which users in the application. Power BI Embedded is the way to bring Power BI experience into an application with security configuration enabled for users. I will explain in a separate post how to use Power BI Embedded. Stay tuned.