Power BI apps, announced and released just a few weeks ago, is a very big change to how content is published and shared over Power BI. I had some initial thoughts, but wanted to use it for a few weeks before I share them. 3 weeks later, here’s the deal.
From the user perspective: Apps are great
In a nutshell, apps replace content packs. Apps are basically a shiny (if it was 2008) way to describe folders of content. Let’s say you have sales reports, marketing reports, and finance reports. Until apps where introduced, a very common way to share was to create content packs per topic, so we would have had a sales content pack, a marketing content pack, and a finance content pack.
When content packs are created or updated, you can define what content they include (reports, dashboards, datasets) and who has access. Those who’ve been granted access, would see this content in their reports/dashboard/dataset menus. When you have a lot of content, this becomes messy. The list of reports is just too long to navigate.
Enter apps. For users, apps are simply folders. Instead of getting access to a content pack, they get access to an app. Basically, when they go to their apps menu, they see a list of folders. When they click on an app, they see the content of that app, and only that app, so the mess is gone. They can toggle between apps and they should be happy about the change.
From the BI Developer/content publisher perspective: 1 good, 1 bad, 1 ugly
So far so good. For users, I think apps are a better experience. Behind the scenes however, there are pros and cons. Let’s start with a quick explanation of how it works.
Every app requires a corresponding app workspace, which is basically a group. You create a “marketing” app workspace, define who can work on it (publish and edit content in it), and when you publish your content, instead of using your personal workspace, or groups, you publish to that workspace. Then, you can share a corresponding app, which includes ALL the content in that workspace. You can then create numerous other workspaces, for sales, finance, etc., and make sure to publish the content into the right workspace.
So far, that’s good. Instead of a big workspace with lots of datasets, you get to work with smaller, albeit many more workspaces.
The one obvious bad aspect of it, in my opinion, is that the entire content of a workspace is published in the corresponding app, with no option to hide content. I’m used to creating dashboards based on small reports which I create specifically to cater for these dashboards. For example, a “last 90 days’ performance” dashboard based on a “last 90 days’ report” with several tiles supporting it. Now these reports will be available to anyone who can access the app. I don’t like it but will probably be able to work with it. Microsoft’s roadmap includes a future support for choosing specific content, so hopefully it happens soon.
The worst aspect of apps, which I think is quite ugly, is the inability to reuse datasets between apps, unless published into each app workspace.
For instance, you have a big dataset which includes all your sales data. Based on this dataset, you have sales reports, which are great for the sales department to monitor and analyze their performance, but also reports for management, where you show a different angle – employees performance and maybe other more sensitive data, which should only be available to the senior management team.
In the past, you would have been able to create two content packs, one for sales and one for management, based on the same dataset. Now, with apps, you’ll need two app workspaces, which means two different datasets. This means that while you maintain your dataset only once over Power BI desktop, you’ll need to publish it twice, to two app workspaces. Twice is not too bad, but what if you need to publish to five or ten different workspaces? And what if the dataset is large? This could take hours.
That’s it, my observations after a few weeks. While content packs are still supported, that is only temporary, so hopefully some of the pain is removed in future versions of apps.