You have published your Power BI report and want to share it with others. Now you see that you can share it through basic sharing, workspaces, Apps, publishing to web, Power BI embedded, and SharePoint online. The wide range of this variety of methods for sharing makes it confusing to choose the suitable method. I have done some conference sessions so far explaining the difference between methods in detail, and I feel this is a vital need to know before sharing content with users. In this article, you will learn about all the different methods of sharing, the pros and cons of each, and scenarios in that you can use each method for. At the end of this article, you can choose the best sharing mechanism for sharing your Power BI reports. To learn more about Power BI, read the Power BI book from Rookie to Rock Star.
What Sharing methods will be covered here
In this article, you will only hear about sharing methods that are interactive and cloud-based. We won’t talk about sharing the *.pbix file with others, that is a method of sharing, obviously, but it is not what we consider a proper sharing method. We won’t talk about exporting a Power BI report into PDF and sharing it with others because it is not interactive. We won’t discuss taking screenshots of the Power BI report and sharing it with others. Also, we won’t talk about sharing through on-premises solutions with the Power BI report server. In this article, we just focus on cloud-based, interactive methods of sharing Power BI reports. This article only covers below methods of sharing:
- Basic Sharing
- Power BI App
- Publish to Web
- Embed in SharePoint online
- Power BI Embedded
- Secure Embed
Basic Sharing for Dashboards and Reports
This is one of the most common ways of sharing Power BI content. However, it is not always the best way of sharing. Basic Sharing is a very simple and easy-to-use method. You can simply click on the Share button in the dashboard or report and then share it with other users.
This method of Sharing gives users three levels of access: Read-only, Re-share, and Build.
By default, when you share a Power BI dashboard with this method, then the report and the data set will be shared as well. However, you can go to Manage Permission and set up permission for every item if you want.
Users can easily click on the “Shared with me” section of their profile, and they will see all reports and dashboards shared with them from there.
This method of sharing has some pros and cons;
Advantages of Dashboard Sharing
Dashboard sharing is the most basic way of sharing content in Power BI. This method is quick and easy to set up. You don’t need to have a lot of steps to set up sharing of the dashboard. The ability to share it very quickly makes this method the most common method of sharing for testing.
If you have created a Power BI content and want to share it with others easily just for Testing, one of your first options in Dashboard sharing.
Disadvantages of Dashboard Sharing
Dashboard sharing is simple; however, it has many drawbacks, which make it hard to be used in production. I do not recommend using this method to share Power BI content with users in a production environment because of the reasons mentioned below;
No Edit Access
With Dashboard sharing, you cannot specify edit access. For end users, you never want to give edit access; however, if you are working with a team of developers and you want to provide them with access to edit the content, you cannot do that with dashboard sharing. You have to use other sharing methods, which will come later in this article.
Share Objects one at a time
You can only share one dashboard at a time. What if you wanted to share hundreds of dashboards? You must go to each dashboard and share items individually. Sharing every dashboard would add a lot of maintenance overhead to your work. The best would be having all contents under a group and sharing it with others at once.
To read more in detail about basic sharing, read this post.
Workspaces are created to cover the main two limitations of basic sharing; Edit access and sharing multiple objects. With a workspace, you can share as many items as you want in that workspace at once. You can also decide the access level of the workspace to be either Edit or Read-Only (through four access levels). Workspaces, because of these two features, are heavily used as collaborative development environments.
You can have four levels of access; Admin, Member, Contributor, and Viewer.
Workspaces also have advantages and disadvantages. Let’s check these out:
Advantages of Workspaces
Sharing multiple Contents with the Team
You may have shared a dashboard with a couple of your colleagues in your organization, but after a few weeks, a need for a new dashboard comes up, and you share that dashboard with them. A couple of months later, another team member asks for access to a Power BI dataset to create a report and share it with others. Power BI workspaces enable you to share content (dashboard, report, and data set) with all group members. You don’t need to share each dashboard with each user; groups made it easy for you.
Sharing all types of objects
The dashboard only allows sharing the Power BI report, dashboard, and dataset. However, sharing through the workspace allows all the content to be shared. This includes but is not limited to; Dataflows, Datasets, Datamarts, Dashboards, Reports, Metrics, Paginated Reports, etc.
It is hectic when you are part of multiple teams, and each team has its own dashboards, reports, and datasets. Your “shared with me” section in Power BI will be hundreds of items, and find something. There would be a problem. Power BI workspaces create a separate environment for all members of the group. You can easily switch between workspaces in Power BI.
Isolated User/Group Administration
When you share content with an individual in the organization, if that person leaves the company or is replaced by someone from another team, you have to remove sharing from a previous user account and assign it to the new user account. The best practice is to share content with groups. And members of Workspaces then easily can be managed by an administrator. Power BI workspaces can be shared with Office 365 groups. Once you use a group in Power BI, it is only an admin’s task to add/remove members.
Best Developer Environment
You need an environment to share multiple Power BI content for a team of developers. Everyone needs to have edit access to the content provided by the team. Power BI workspace is the perfect solution for the development environment. You can create a workspace as a development environment and then share it with other developer team members with Edit access. Then you all have access to the same content in your development workspace.
Power BI workspace is the perfect solution for development environment
Disadvantages of workspace
Workspaces are useful because of the reasons above. However, there are some drawbacks.
Not suitable for End Users
Workspaces are not suitable for sharing content with end users. You may wonder why that is. You can give users of the workspace read-only access to the content. However, this is half of the requirement. In an end-user sharing environment, one of the primary requirements is to have the development and user environment separated from each other.
Assume that you have created a workspace and shared it with end users. If you suddenly make changes in the workspace while they are using it, then their view of the world breaks and changes.
With one workspace your development, and user environment are the same.
You cannot use one workspace to be shared between developers and users. Creating multiple workspaces also brings another challenge. To overcome this challenge, we use Apps on top of the workspaces for sharing the content with the end users.
Complications for the workspace structure
Setting up a good workspace structure is a challenge. A workspace structure that covers the development, user needs, and deployment structure. I have explained in another article what are things to consider for setting up a workspace structure. This is more of a caution than a limitation. Use workspaces with care, and make sure you have a good setup.
Power BI Pro or PPU
Creating Power BI workspaces, or even being part of it (even as a Viewer access level), requires a Pro or PPU option and is not part of a Power BI free user account. However, it is possible to create an app for the workspace in a premium capacity and assign free Power BI users to it. This limitation is one of the main reasons this is not the most cost-effective option for sharing the content with the end users.
To learn more about Workspaces, read this post.
Power BI App
Workspaces are a great way of sharing content with users, but when it comes to having a development and user environment, then managing multiple workspaces is not the best method. Power BI App is the solution for multiple environment approach. With Power BI App, your development environment (workspace) and user environment (App) is isolated. Power BI App also can be a cost-effective option for organizations with a large user base.
Creating an App for a workspace is very simple.
Users can easily access it through the “Apps” section of their Power BI account.
Apps are great sharing methods for multiple environments and the best way of sharing for users in a production environment. however, apps also have pros and cons, as below.
Pros and Cons of Power BI Apps
Advantages of Power BI Apps
Separate Environments for Developer and End-user
This method’s most beneficial is having two separate environments; an environment for developers to edit the Power BI content in a collaborative workspace and another environment for end users to consume the report. End users will be able only to view the reports, and developers will be able to make changes.
Power BI App is the best solution to have an Isolated developer and end user environment.
A cost-effective option for a large user-base
If you have thousands of users and want to share Power BI content with them securely, then sharing with options that rely on per-user licensing is not cost-effective. A Power BI workspace can be assigned to a premium workspace, and then if you create an App on top of it, the app’s users can be FREE Power BI users. This is a big help for organizations with a large user-base. You can purchase a capacity, and as long as it can cover the load of the users over the Power BI content in the service, you get free users using it.
This option is one of the most common reasons why many organizations use the Power BI App combined with workspaces to share the Power BI content.
Controlling multiple Power BI content
Similar to the workspace, the Power BI app allows you to share multiple dashboards, reports, and datasets simultaneously. Controlling multiple contents means less maintenance overhead compared to dashboard sharing, which is one dashboard at a time.
Another great benefit of the Power BI app is the ability to integrate that with Azure B2B services and provide external sharing. If you want to share Power BI content with people outside your company, you can do that with a combination of Azure B2B and the Power BI app.
Cons of Power BI Apps
Power BI App is one of the best and the most common methods of sharing in Power BI, There is a small thing that you need to be careful though.
Changes in the Dataset Apply immediately.
Power BI app separates developer and end-user environments, and the changes in a report in a workspace don’t affect the end user until you update the app. However, this functionality doesn’t work with the dataset in that way. The Power BI app and the workspace are sharing same datasets, so any changes on the schedule refresh or structural changes will apply to both.
If you want to learn more about Power BI Apps, read this post.
Publish to web
Sometimes, you don’t need a secure way of sharing, you may search for an easy and free way of sharing, and your content is not confidential or sensitive. Publish to web is your friend in such a situation. This is the only free way of sharing in Power BI, but be aware that this method is not secure.
Publish to web method gives you an embed code, which you can use on any web page to embed the Power BI report in it.
The embedded content, through this way, would be available for anyone who has access to that page. Publish to web is a free way of sharing, and if you think about using this method, here are some security thoughts worth reading beforehand;
Security Thoughts on Publish to web?
What You Share is for Everyone!
The first thing you might think of 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 they can view it with no restrictions.
Users can share it with others!
A report published on 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, and LinkedIn sharing the link directly! This method of sharing is not secure. I only recommend sharing the data you want to publish a public report on your company or organization’s website.
The report is PUBLIC. Not only to those with the Link
Yes, you read it right. This report is not shared only with those with the link. It is shared globally on the internet. A search engine such as Google can search for a report. All the reports with Publish to web links are available there. You must double-check that the report and data don’t reveal confidential information.
All Report Pages Are Visible
If you have a report with 10+ pages, it will be visible to browsers. You can not limit which pages you want to show and which you don’t. For example, the above report has more than one page, and you can view it. I recommend creating different reports if you want to restrict some pages and share them separately.
What If the report has Row-Level Security applied?
If you have a report with the Row-Level security applied to it, you won’t be able to create a “Publish to web” link.
All Report Pages Are Visible
If you have a report with multiple pages, it will be visible to browsers. You can not limit which pages you want to show and which you don’t. For example, the above report has more than one page, and you can view it. 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.
To learn more about Publish to Web, read this post.
Embed in SharePoint Online
If you are using SharePoint online as a portal for document management and some other reasons already, then consider using Embed in the SharePoint Online feature of Power BI reports. This method is secure, and you can share the report only with the Power BI users you want.
Power BI content can be easily embedded into a SharePoint online page:
Managing security and sharing for this content needs to be done in two different places then: SharePoint Site, and Power BI.
This method also has pros and cons, as mentioned below;
Advantages and disadvantages of Embedding in SharePoint Online
Like all other methods, this method also has pros and cons.
Advantages of Embed in SharePoint Online
One portal for all content
With SharePoint online, you can share other documents as well. Why not use it for all other documents and the Power BI report? You can have one portal, which is the central sharing portal for your Office 365 tenant. Users usually love integrity.
Embedding is simple
Unlike Power BI Embedded, embedding in SharePoint online is easy. You just get the URL and embed it into a Power BI object in SharePoint online. You don’t need to write a single line of code for that purpose, but with Power BI Embedded, you need a developer.
Disadvantages of Embed in SharePoint Online
Power BI Service Golden Plate is missed
One of the great aspects of Power BI components is the service. If you use SharePoint embedded, users will use that as the portal for reports. Power BI Service has many exciting features which may not be well used in this scenario, such as Alerts, feature dashboards, the dashboard itself, Q&A, and many other items. Users can still log in to the Power BI service and see the report, but the experience you created for them with SharePoint online would not be there.
Two places for managing permissions
At the time of writing this post, you need to manage permission in Power BI Service and also in SharePoint online. This would take some time for maintenance and reconciliation to check whether those people who have access to the page are always permitted to read the report.
To learn more about Embed in SharePoint online, read this post.
Power BI Embedded
Sometimes you want to embed the Power BI content into your custom application, and you want the content to be secured. In most cases, you want to leverage the custom user management of your current application than Power BI accounts. Power BI embedded gives you all of these features. The only side effect of that is the need for a web developer.
Power BI Embedded uses an API that we call Power BI REST API, and it has many great features for interacting with Power BI content. Users can easily access reports just through your application
Pros and Cons of Power BI Embedded
With Power BI Embedded, you get a fully customizable solution. You can do whatever you want inside your application with Power BI content. You can embed reports, dashboards, tiles, and even Q&A. You can interact with those elements from the web page.
Power BI Embedded can work without the need for Power BI accounts. If you have a set of users without accounts or your users are not part of a single company, then Embedded can be a huge advantage.
Power BI Embedded implementation needs a web developer. It is not just about one-off embedding your first content; every change after that, or every new functionality you add to your application, needs a web developer’s touch.
Another big advantage of the Power BI Embedded is the ability to scale up or down on some SKU capacities and bring the costs down while keeping the performance high.
To learn more about Power BI Embedded, read this post.
This method combines good things from two methods; Publish to web, and Power BI Embedded. However, Secure Embed is neither Publish to web Nor Power BI Embedded. It is getting good things from both worlds! Using Secure Embed, you can share your reports through a web portal with just a few clicks. However, unlike Publish to Web, the Secure Embed is a secure method of sharing, that only authorized users will have access to the data. As a result, this method also supports row-level security-enabled reports.
Advantages and disadvantages of Secure Embed
Like all other methods, this method also has pros and cons.
Advantages of Secure Embed
Sharing with Only a Few Clicks. No Developer Needed
As you have seen in this post, I haven’t written a single line of code; it works by using the Secure Embed option easily. All you need to do is use the URL output of the Secure Embed or embed the HTML code on a webpage you want. Unlike Power BI Embedded (which needs a developer touch), this method is very simple to implement.
Looking at the title of this method of sharing, “Secure Embed,” you probably guessed it. You have also seen in this post, through an example, how the content is secured for only those users who are authorized to see the content. Unlike Publish to web, this method is a secure method of sharing.
Row-Level Security is Supported
Publish to web method doesn’t support row-level security because there is no concept of the user logging in because no login is required. However, using Secure Embed, only authorized users will have access to the report, and as a result, row-level security is possible.
Disadvantages and Limitations of Secure Embed
Some Limitations of Power BI Embedded about the content to be shared applies. For example, ArcGIS Maps is not currently supported.
Secure Embed, at the moment, doesn’t support dashboards or paginated reports.
Another significant limitation of Secure Embed is that it won’t work with custom applications’ user setups. If you use the Secure Embed method, you must use Power BI user accounts. If you want to use a custom applications’ user base, then your better choice will be Power BI Embedded.
To learn more about Secure Embed, read this post.
Comparing all methods of Sharing
So far, you’ve learned in summary what every method does; now let’s see their difference all in one place:
Cheatsheet of Which Method to Choose?
|Basic Sharing||A fast and quick method of sharing for testing reports and dashboards|
|Workspace||A great option for collaborative development environments between Power BI Developer teams|
|Power BI App||The best option to share reports with end users in a user environment that is isolated from the developer environment|
|Publish to web||The free method of sharing, which is best for public data sets where the nature of data is not confidential|
|SharePoint Online||A good choice when SharePoint online is the current portal for users in the organization|
|Power BI Embedded||An option to bring Power BI content into your application, especially when user management can be done in the custom application.|
|Secure Embed||Sharing simply and securely in SharePoint on-premises or a custom web application without the need for a web developer|
To read more in detail about each method, click on the links below;