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.
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;
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.
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.
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.
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;
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.
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.
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.