You’ve learned previously about some of the methods of sharing content in Power BI, such as Workspaces and Dashboard Sharing. In this article, I’ll explain everything about the Power BI Apps, a mechanism to share the content in Power BI in a way that has security and governance together. Power BI App used together with the workspace, can build an ultimate sharing strategy in many organizations. If you want to learn more about Power BI, Read the Power BI book from Rookie to Rock Star.
Power BI App
Power BI App differs from the mobile App for Power BI. Power BI App is a way of sharing content with end users. You already know about the limitations of Dashboard Sharing and Workspace sharing. The Power BI App method provides an extensive approach to sharing content for end users. With Power BI apps, you can share content with end users without worrying about changing something in the development environment. Managing multiple environments is much easier with this approach. An app can be shared with a group of people or the entire organization.
In addition to separating the dev and user environments, Apps come with another helpful point. The Power BI app can be shared with free users in the Power BI if the workspace in which the Power BI content is located is under a premium capacity.
App Workspace
To start creating an app, you’ll need a workspace. Workspaces in Power BI are called App workspaces because you can create an app on top of a workspace (they are also called organization workspaces). The content that you will have in this workspace can be selected for the App to be shared with users. In the previous article, you learned how to create and manage workspaces.
App workspace is like a shared folder with a group of people. Set a name for the app workspace. You can specify if users have access to this workspace via edit or read-only (there are four access levels for the workspace). Please note that this way of access is only for people you add to the workspace directly, not for this app’s users. After creating the app workspace, you should first see a new workspace (folder) that is blank. You can publish the content to this workspace from the Power BI Desktop or create it from the Power BI Service itself.
Here is an example of a workspace with some content in it;
Create App
The process of creating the Power BI App is also called Publishing App. To create the app, click on the workspace in the Power BI Service.
Setup
There are three stages for creating the app. In the first stage, you will do the general setup by adding details such as the App’s name, Description, Logo, and theme color. Choosing the theme color can be helpful for the users to distinguish the environment when they switch between apps (A Power BI user can be the user of multiple apps). You can also set the contact information.
There are three settings for the app which require attention;
- Install this app automatically. I recommend selecting this option. However, the tenant administrator in your organization has to enable this feature first. I will explain that shortly.
- Hide app navigation pane. An app can come with a navigation pane. The navigation pane is helpful when sharing multiple reports and dashboards through this app. If you are sharing only a single report, then the navigation pane is better to be hidden.
- Allow users to make a copy of the reports in this app. If you have power users and business analysts in the audience, you might want to give them access to create copies of the report (but not change the reports in this app).
Once you set the configurations, you can go to the next step.
Installing apps automatically
By default, the apps must be installed by the organization’s users. This is an extra step that can be done automatically (Which means that as soon as the app is created, it will be installed for the end users). The Power BI tenant administrator can enable this automatic installation of the apps under Tenant settings.
Content
In the next tab, you will set the content for the app. This can be done by clicking on Add content. If you want to share different content with different audiences, select all those content and add them here.
You can now build a navigation menu for your app. By default, the navigation only includes the content (reports and dashboard). You can build better navigation by adding custom links or a section.
You can then organize the items under the sections, rename or re-order them and build the navigation in the way you want your users to consume the content.
After building the content and navigation, proceed to the next step.
Audience
The third and final stage of building a Power BI app is to set the audience. The audience is the users of the app. You can have different groups of audiences. In the past, you could only create one audience group per app. Nowadays, you can have a group of the audience having access to part of the content and another group having access to another part of the content in the same app.
There will always be a default audience with the same name as the app. You can rename it by double-clicking on the audience tab.
For each audience, you can set the group of users who have access to it. It is better to use Office 365 groups than the individual users here to manage the user list more easily outside the Power BI environment.
When you create the app, you can give the users access to re-share it or even build new content with the dataset available in the app (using a live connection). As you can see in the above screenshot, I have created a new Audience for Finance, Allowed it to see only the finance section and report, and then authorized the users of this audience to re-share or build new content using the dataset of this app.
After publishing the app, users will be able to access it immediately. They either will get the app installed automatically (refer to the settings I explained earlier) or need to install it themselves. You can also share the link with them to make it easier for them to access it;
Getting App
Users can go to their Power BI account page, click on Apps, and then Get Apps. They will be able to see all apps shared with them.
Users can simply Get the app and use it right away. As you can see below, a user can have multiple apps.
by clicking on the app, users will be redirected to it and can explore its content. Depending on the access and the audience group the user is part of, they may have a different view of the app.
Changes in the App
You can apply any changes to the content in the workspace. The changes on the workspace will NOT affect users until you “update the app.” With the new update, the users will get the updated content. You can also “Unpublish” the app.
Isolated Environments for Developers and Users
One of the most valuable advantages of using Power BI apps is having two separate environments; for Developers and Users. The concept works merely because a Power BI app is always associated with a workspace. Workspace acts like a developer environment, and the Power BI app serves as an end-user environment.
Workspaces are developer environments, and Power BI Apps are end-user environments.
If you are a developer team member, you would have Edit access to the workspace (Through Contributor or Member roles).
All users who have edit access can change the content in the workspace. Their changes do not apply to the end user environment until they Update the app.
Changes in a workspace does not affect to end users environment until the app is Updated.
As a developer, you make some changes in the workspace, for example, if you remove a chart from a report and then save it.
The end user will not be affected by this change. End users will still see the full report.
To sync the Developer and End-user environment, you need to update the app to get the changes applied to the end-user side. Usually, developers in the workspace cannot do this action. The access level of developers in the workspace is Contributor, which won’t let them update the app. The Member is a user who can publish or update the app. You can call the member, the deployment user. Read here to learn more about workspace roles and how to set them up.
What About Data Refresh?
Data refresh and access to up-to-date data is always a big question that comes through my presentations; Would I need to update the app so end users get the updated data? How would they access the data refreshed or up-to-date? The answer is that data will be updated if it is scheduled to refresh with a scheduling process determined at the dataset level or if it is Live Connection or DirectQuery. Regardless of users or developers, the dataset refresh is a different process.
If you have set up your dataset to be refreshed, users will always have access to up-to-date data. You don’t need to update the app for data changes. You just need to update the app for structural changes (adding, modifying, or removing tables, fields, relationships, and calculations) or visualization changes (adding, modifying, or removing visuals on the report). However, some structural changes in the dataset might cause the report in the app to fail (such as removing a field or a measure used in a report’s visualization), as it depends on the existing dataset in the workspace.
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.
External Sharing
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 ways of sharing in Power BI, which is an excellent option for end-users throughout the organization. However, it has a limitation that needs to be considered.
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.
Summary
Power BI Apps provide a separation of development and user environment. They also provide a more cost-effective licensing option in some scenarios. Using Power BI App, you can create a navigation menu for users with different audiences per app. These advantages made Power BI Apps the most common method of sharing Power BI content.
Other sharing methods are explained below.
Hi Reza, awesome review!
For me apps are great but the inability to do adhoc reporting is a big downsize. Really hope Msft gives some kind of alternative here…
Hi Rui,
Thanks for your comment 🙂 Apps are very new already, so like yourself, I’m looking forward to see many great upcoming features in this side.
Cheers
Reza
I especially love that they will be moving away from the Office 365 groups. No more useless group spaces created in SharePoint Online behind the scenes (including mail boxes, calendars, website …).
Hi Koen,
Yes it is indeed.
Cheers
Reza
Nice review Reza. I had missed this change, and you’re post made it really easy for me to come up to speed. When you say Apps include content packs, I assume you mean the way the Apps are distributed (like content packs), is that right?
Also the name change from workspace to Apps makes more sense to me now (although I still don’t know if I like it)
Hi Matt,
The pace of changes and updates in Power BI is so fast, that is hard to keep track of all changes 🙂
Yes, When I say Apps includes Apps; I mean the way it is distributed to users, and the way that users will use it (They can use it as read only view, and it is all controlled through a central place, that is the place the App work space created from. If App get updated, users get updated set, if gets deleted, users will no longer have access to that content. That’s what I mean by It includes all features of content pack).
Cheers,
Reza
Hi Reza, thanks for sharing your detailed analysis so quickly.
The inadequate admin security is still a showstopper for me, as it was with Content Packs. I;m continually surprised to see so much effort go into Power BI features, yet they ignore obvious fundamental issues like this. Hopefully that gets sorted soon.
I’ll still be creating Office 365 Groups. Most of the teams that I work with desperately need nimble collaboration and document management tools – Office 365 does that job reasonably well. I think it also positions Power BI content as part of a project/team’s regular work flow, not an isolated tool for specialists.
Mike
Thanks Mike for your feedback.
Knowing this type of requirement is really good. Because in the new workspace app the synchronization with O365 no longer exists. However, It might be required for some groups (like for document management and collaboration as you mentioned). I believe it would be better if there be an admin option for Power BI that we can choose if our workspace apps can create O365 groups or not. rather than turning it off totally.
I will definitely give this feedback to the team. Thanks for sharing your scenario.
Cheers
Reza
Great post, I hadn’t had time to look into the difference between apps and work spaces so this has explained it perfectly. Your thoughts at the end were awesome too, saves me having to discover that app members can publish the app themselves!
I wish PBI would allow external sharing (via Public link) with password required access to the report, was hoping apps may be going somewhere down this path but it doesn’t appear so. Regardless, they will replace my reliance on workspaces (and creating a ton of groups) so am happy with yet another great move by Microsoft.
Hi Casey,
Thanks for your feedback.
The ability to share an APP with external users is in the road map, and it will be available in next few months I believe. it will work somehow with Azure B2B I believe, but I’m not still sure about it before it comes out.
As you mentioned Power BI App is definitely is a great move, it just needs some tailoring around it to be a perfect strategy for sharing.
Cheers
Reza
Hi Reza,
Excellent post!!! Will Power BI apps carry the Row Level Security to the Apps?
If not, how can we implement the same type of security (RLS) in Apps?
Thanks, Sam
Hi Sam
Thanks.
RLS will go through app for readers perfectly. but users who have EDIT access int the app work space will see everything regardless of RLS
Cheers
Reza
Reza,
If I am manually updating data from a power bi desktop file, do I have to refresh my data in desktop and first publish to the app, and then go into the app and publish the app? ( making all data updates a 2 step process even if there are no changes in the design of the desktop file?) I do not currently use a gateway.
Hi Pete,
Data will be refreshed through data set scheduled refresh. and you need a gateway if your data source is on-premises. this is the right way of refreshing your data set.
Cheers
Reza
Is still the requirement to access the app to have a Pro license?
Hi, Vanessa,
you would need Power BI Pro account to set up an app, and users either need Pro account, or a free account which is part of a Power BI premium capacity to use it. so only paid subscription plans can use this way of sharing
Cheers
Reza
Hi Reza,
Do we have to update the App even if we update the role in the RLS setup.
Say i have a single dataset on which i built 4 different types of reports.
I published the Reports and Dataset seperately.
Now, there is a change in the RLS Setup which requires me to add / update a new the role.
I updated the role and published the dataset. Should i still update the App? or will the RLS changes be applied automatically at the app level.
Hi Nishanth.
Short answer: Yes
Long answer: Any changes that you make in the Dataset (row-level security is applied in the dataset level) would decouple the app report from the workspace, and as a result, you would need to update the app. If the change is only at the report level, you can still work with that without updating the app, but if you want users to get the updated content, you would need to update app anyways.
Cheers
Reza
When we unpublish an app, we lose all the emails/users the report was shared with previously. Is this a bug, normal functionality, or a group policy setting?
I believe this is normal functionality.
Cheers
Reza
Do you know if there has been any update to being able to publish/ refresh to multiple workspaces at the same time? I work for a very large company and we have multiple workspaces based on a person’s title. So an associate might only be able to see the Utilization dashboard while a Project Manager may need to see Utilization and the Project Management Dashboard…. This means two apps, one with both and one with only one.. so the utilization dashboard gets refreshed twice which is a real waste on capacity. In an ideal world, we would be able to refresh both utilization only once to both dashboards… Row level security doesn’t really make sense for us because of the massive drain on speed. People want their data to load immediately or they’ll stop using the dashboard.
Hi,
we have already added that feature in Power BI Helper, you can use that for publishing to multiple workspaces at the same time
Cheers
Reza
Thanks, these articles are helping a lot to so many people
Hi Reza,
Is there any possibility to embed the Power BI App for example within a SharePoint WebPart or through the power BI embedded for custom solutions?
Power BI Apps are recently added to Teams as Teams app, but not sure about SharePoint. maybe coming later. You can certainly build your own custom navigation in SharePoint and connect it to your Power BI reports/Dashboards as a custom method for now.
Hi Reza,
Thanks for your sharing! I’m struggling with access control at report-level using Azure AD group.
I found that Power BI Apps would include all the reports and dashboards in the workspace. However, my workspace is organizational level. How to create such App at report-level, like I need to share different reports to different groups of users.
Also with the Workspace roles(admin/member/contributor/viewer). Can these be controlled as security roles for a single report?
Hi Gabiii
If you want to share different objects with a different group of people, then I suggest creating different workspaces and different apps too.
If you have one set of reports for HR department, then create a workspace and app for HR
If you have one set of reports for Sales department, then create a workspace and app for Sales
Apps are a single unit of sharing. Ideally, you want to share the content of the app with the same group of people.
Cheers
Reza