You’ve learned about three different ways of sharing content in Power BI so far. All of the methods that we talked about before (Dashboard Sharing, Workspaces, and Power BI Apps) need paid power bi subscriptions for consuming reports. Users need to be either Power BI Pro or free accounts under Power BI premium capacity. Publish to Web is another way of sharing Power BI content which is free. Yes, you read that right, with this method you can share Power BI content with users who even don’t have a Power BI account.
Publish to the web is an easy way of sharing for public data. However, it has some disadvantages as well. In this post, you will learn about this feature more in details, and you will learn this feature is, and how it is a difference with Power BI Embedded. It will be a very long post if you want to learn about both Power BI Embedded and Publish to the web and compare them here. So in this post, I’ll explain Publish to Web, and in next posts, you’ll learn about Power BI embedded, and their differences. In this post, you will learn how easy is to share your report with the 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 workspaces in Power BI. What if you want to share it with the 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 to 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.
Because this is all about sharing a report and apparently 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 viewable for the 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 the screen for the 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. As you see in the screenshot, the 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 can you 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 embeds 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.
Users can share it with others!
A report that is published to the web has a share section at the right-bottom hand-side. Everyone can share this report with anyone else through all social media channels; Facebook, Twitter, LinkedIn, sharing the link directly! This method of sharing is not secure. I do only recommend using this method of sharing the data that you want to publish a public report on your company or organization website.
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.
Publish to Web is only recommended for public data sharing in your organization website with the public. There is no security option for Publish to Web; this method should not be used for reports of the confidential data of businesses.
Link or Embed code is Synchronized with the Report
If you make any changes to the report, all changes will be synchronized, because of link or embed code are just references to this report. So People will always see 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, the link and the embed code will show a message to public web users that this content is not available.
Central Monitoring for all Embed Codes
Publish to web seems a frustrating option with all explanation so far. There is a need for an administration page to manage all embed codes there across the Power BI tenant. Power BI team recently added this feature to the admin portal of Power BI. Here is the place that you can find all reports that are published to the web, and you can remove those from being published to the web.
To go to the admin portal, click on the setting icon in Power BI service, and then go to Admin Portal
Click on Embed Codes in the left-hand-side, and you will see all embed codes published by anyone from your organization (to access to the admin portal, you need to be Power BI administrator, you will learn about that in another post).
For each report which is published to the web, there are two options: to view the published report, or to delete it. Once you delete it, no one will be able to use the published to web’s link.
Difference with Other Sharing Methods?
If you played with Power BI before, you know that you can share your dashboards with people in your organization. This feature is different from embed code. Here are some differences between sharing dashboard and embed code;
- You Share a Dashboard, not a Report
- Only those who have access to the dashboard will see the content
- Dashboard link which is shared with the public won’t show anything if they are not authorized to see it.
- Power BI Workspace or App is For Authorized Group of Users inside or outside of Your Organization, not for everyone!
- Power BI Embedded is different from Publish to Web
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.
Dashboard link Works Only for Authorized Users
Despite of having the dashboard link available in the Access tab of sharing pane; Only authorized users can see the content when browsing the link. Otherwise, they will see a message that says they don’t have permission to view this dashboard.
Power BI Workspace or App is For Authorized Group of Users inside or outside of Your Organization, not for everyone!
You can share dashboards, reports, and data sets with a workspace which is an Office 365 group in your organization. And users of this group will have access to all content shared by the group. Also, you can use Power BI apps to share content within your organization or even outside of your organization with Azure B2B services. However, with Publish to Web, any users who have access to the page will see the report, regardless of having Power BI account or not.
Public Access or Organizational Sharing
Last but not least; the difference between Publish to web, and Sharing is all about the difference between giving public access or sharing content through the organization.
With Sharing dashboards or using Power BI workspaces and apps, you can share content with other users. These users SHOULD BE Power BI users; they cannot access content anonymously. They need to log in 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 log in. They can browse the page that contains Power BI embed code with no restriction on viewing the report.
Power BI Embedded is Different from Publish to Web
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.
Publish to Web is not secure, free way of sharing, and is for the public. Power BI embedded is secure, paid service, and for specific people that you authorize them.
In summary, Publish to the web is the only free way of sharing Power BI content. This method of sharing doesn’t have any security bound to it. As soon as you publish a report to the web, anyone with that link will be able to access the report and the data. This method of sharing is easy, however, is not recommended for confidential data. This method is an only good option if you want to share some public reports on your company public website.
Publish to the web is entirely different from Power BI Embedded, these two methods should not be considered the same. In the next few posts, I’ll explain what Power BI embedded is and how it is working.