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, publish to web, Power BI embedded, and SharePoint online. The wide range of this variety of methods for sharing, makes it confusing to choose the right method. I have done some conference sessions so far explaining the difference between methods in details, and I feel this is an important need to know before sharing content with users. In this post, you will learn about all different methods of sharing, pros and cons of each, and scenarios that you can use each method for. At the end of this post, you will be able to choose the best sharing mechanism for sharing your Power BI reports.
What Sharing methods will be covered in this post
In this post 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 as a proper sharing method. We won’t talk about exporting a Power BI report into Power Point slide and sharing with others, because it is not interactive. We won’t talk about taking an screenshot of Power BI report and sharing with others. Also we won’t talk about sharing through on-premises solutions with Power BI report server. That is a separate topic. In this post, we just focus on cloud-based, interactive methods of sharing Power BI reports. This post, only covers below methods of sharing:
Basic Sharing for Dashboards and Reports
This is the most common way of sharing the Power BI content. However, it is not always the best way of sharing. Basic Sharing is 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 two levels of access: Read-only, or Read-only and re-share
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 specifically for every item if you want.
users can easily click on “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 makes it hard to be used in production. I do not recommend using this method to share Power BI content with users in production environment because of 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 methods of sharing, which will come in next few posts.
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 single dashboard would add a lot of maintenance overhead to your work. Best would be having all contents under a group and sharing it with others at once.
To read more in details about basic sharing, read this post.
Workspaces are created to cover the main two limitations of the basic sharing; Edit access, and sharing multiple objects. With a workspace, you can share as many as items you have in that workspace at once. You can also decide the access level of the workspace to be either Edit, or Read-Only. Workspaces because of these two features are heavily used as collaborative development environments.
You can have two levels of access; Edit, or Read-Only for a workspace
Workspaces also have advantages and disadvantages, let’s check these out:
Advantages of Workspaces
Sharing multiple Contents with Team
You may have shared a dashboard with a couple of your colleagues in your organization, after few weeks a need for new dashboard comes up, and you share that dashboard with them. A couple of months later another member of your team asks for access to a dataset in Power BI to be able to create a report and share with some others. Power BI workspaces enable you to share content (dashboard, report, and data set) with all members of a group. You don’t need to share each dashboard with each user; groups made it easy for you.
Multiple Work Spaces
It is hectic environment when you are part of multiple teams, and each team has their own set of 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 be replaced by someone else from another team, then you have to remove sharing from a previous user account and assign it to the new user account. Best practice is to share content with groups. And members of Groups then easily can be managed by an administrator. Power BI workspaces are fully synchronized with Office 365 groups. Once you used a group in Power BI, then it is only an admin’s task to add/remove members from it.
Best Developer Environment
For a team of developers, you need an environment to share multiple Power BI content. 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 members of developer team 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 reasons above. However, there are some drawbacks.
Not good for End Users
Workspaces are not good to share content with end users. You may wonder why is that? 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 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.
Overhead of Multiple workspaces
If you have multiple workspaces, then moving or copying content between workspaces is not possible (at the time of writing this blog post it is not possible, very soon it will be available). The limitation above means you must re-create your dashboards in every workspace. The overhead maintenance costs of such scenario are high.
To learn more about Workspaces, read this post.
Power BI App
workspaces are great way of sharing content with users, but when it comes to have a development and user environment, then managing workspaces are not easy. Power BI App is the solution for multiple environment approach. With Power BI App, your development environment (workspace), and user environment (App) are isolated from each other.
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 method for multiple environment, and best way of sharing for users in production environement. 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
The most benefit of this method is to have two separate environments; an environment for developers to edit the Power BI content in a collaborative workspace, 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.
Controlling multiple Power BI content
Similar to the workspace, with Power BI app, you can share multiple dashboards, reports, and datasets at the same time. Controlling multiple contents means less maintenance overhead compared to dashboard sharing which is one dashboard at a time.
Another great benefit of 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 of your company, you can do that with a combination of Azure B2B, and Power BI app. Here is the blog post from Microsoft Product team about it:
Cons of Power BI Apps
Power BI App is one of the newest ways of sharing in Power BI, and because of that, it comes with some limitations. This method is a replacement for Power BI Content Packs. However, it still has some flaws, which needs to be resolved.
Power BI Apps is not full replacement of Content Pack
Users cannot Make a Copy as they could in content pack. You might say; what is the benefit of copying? The answer is: Power BI is all about self-service. There are always some users who want to be able to create their version of the report. With Content Pack that was simply possible. They could make a copy, and change their copy without touching the original report. (read this blog post to learn how). With the new app; they cannot change anything. They cannot make a copy. Or if they are part of the group with edit access to the workspace, then they CAN CHANGE the original! It is either too much power for them or nothing.
Immediate need for the app workspace administrator
Users who are not the admin of the group, but only have Edit access, can publish app! Updating or publishing app is too much access. Consider a situation that users are using a published app, and suddenly someone by mistake updates the app! It is critical that the admin of app workspace be the only person who can publish the app. Or at least can give this permission to a specific group of people.
Changes in the Dataset Applies immediately
Power BI app is separating 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. Power BI app and the workspace are sharing same datasets, so any changes on the schedule refresh or structural changes will apply on 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 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 in any web pages 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 the free way of sharing, and if you think about using this method, some security thoughts worth reading beforehand;
Security Thoughts of Publish to Web?
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.
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 SharePoint Online feature of Power BI reports. This method is secure and you can share the report only with 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 using it for all other documents, and also the Power BI report. You can have one portal that is the central sharing portal for your Office 265 tenant. Users usually love the 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 the SharePoint online. You don’t need to write a single line of code for that purpose, but with Power BI Embedded you do 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 embedding in the SharePoint, then 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 Power BI service and see the report, but the experience that you create 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 also some reconciliation to check on those people who have access to the page are always permitted to read the report or not. Hopefully, this issue resolves quickly in next few version upgrades of Power BI Service.
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 of the 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 which we call it Power BI REST API, and it has many great features for interacting with a 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 fully customizable solution. You can do whatever you want inside your application with Power BI content. You can embed reports, dashboard, 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 really big advantage.
Power BI Embedded implementation needs a web developer. It is not just about one-off embedding your first content, every changes after that, or every new functionality you add to your application, needs a web developer’s touch.
To learn more about Power BI Embedded, 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||Fast and quick method of sharing for testing reports and dashboards|
|Work Space||great option for collaborative development environments between Power BI Developer teams|
|Power BI App||best option to share reports with end users in a user environment which is isolated from developer environment|
|Publish to the web||Free way of sharing, best for public data sets where the nature of data is not confidential|
|SharePoint Online||good choice when SharePoint online the the current portal for users in the organization|
|Power BI Embedded||an option to bring Power BI content into your application, when the user management can be done in the application specifically|
To read more in details about each method, click on links below;
Hope this post, helped you to choose the right sharing method for your Power BI solution. If you have any doubts or questions, please ask in the comments below.