Back in August 2022, Microsoft released a feature to have multiple audiences for Power BI Apps, or if you will deploying multiple versions of the same app where you can actively show and hide content for different audiences. A very welcome feature that has a big impact on the number of workspaces people require to have to reach the same goals. In this blog, I will elaborate on the impact of multiple audiences for Power BI Apps, as well as the impact on workspace governance.
Old app structure
Let’s first have a look at what this new app-related feature is and how it differs from the previous setup. Previously, every Power BI workspace related to one app, just like a 1-on-1 relationship. Users had the ability to publish exactly 1 app, to 1 target audience. This audience then had the ability to see everything that was part of the app. The only other layer of security that might apply was security on the artifacts individually. To be precise, this could only be row- and/or object level security on datasets.
In this setup, Power BI users ended up with many workspaces. For example, when you had a set of reports, of which one report was specifically for a select group of people, where the rest was all for a wider audience. The best practice to share your content through Power BI Apps became challenging in that scenario, as you had to setup a secondary production workspace, with specific published app to that target audience, whilst you also maintained a workspace with published app for the wider audience.
In short, the previous setup often led to increased solution maintenance and a proliferation of workspaces, which is not always in the favor of the Power BI administrators, nor the content developers who try to keep an overview over all their workspaces and their right and reasoning to exist.
What’s different with multiple app audiences?
So, with the feature multiple audiences for Power BI apps, this drastically changed. There is no further need for that secondary workspace for that specific one report that you want to share to a select group of people. Now, you can simply maintain one workspace for a specific domain, let’s say supply chain. From that workspace, you can publish one app, but with the different audiences the content users see in this app can differ, as users can be included in one or more audiences at the same time. One of the important limitations to keep in mind, is the limit of maximum 10 different audiences per app. In case you need more audiences than 10, you still need to setup a secondary workspace, just like before this feature became available.
I will not go in full detail on how exactly the multiple audiences per app works, as I do not want to repeat the Microsoft documentation. At the moment of writing this blog, the feature for multiple app audiences is in public preview. However, be aware that the new app audiences feature is the default behavior when you publish a new app or update existing ones. For further details, please review this documentation.
How does this impact workspace governance?
For sure, the app audiences will change the number of workspaces you need to get your content distributed. Previously, there were some pros and cons, and some organizations limit or even fully control the number of workspaces being created on their Power BI environment. Therefore, I’ve seen some antipatterns where content was shared by adding large audiences into the workspace permissions as viewer, or even used direct share for some specific reports. Why is direct share a bad practice in my opinion? Well, it ends up in the “shared with me” section for a user, which you cannot control, nor you can select what is important for you. Taking myself as an example, I have over a thousand items in that list. Therefore, I believe that sharing content through apps is the way to go. Apps allow users to install and deinstall the app up to their wishes. If it is no longer relevant to them, they can simply remove the app and they will be and remain the owner of their own app section. Next to that, apps allow to share a set of content directly, instead of having to share all items one by one. Read more about different ways to distribute your content in this blog post.
If we look at the impact on workspaces with the new app audiences, it basically means you need fewer workspaces to share different sets of content to different audiences. Of course, this also brings a challenge, being the maintainability of all different audiences. Ownership of the content and the right knowledge of the Power BI ecosystem becomes crucial here. Also, using active directory groups makes live much easier, as a list of individual users is hard to maintain. Looking at the usage of AD groups, I would say that each audience should be represented by a single AD group. Obviously, users can be a member of multiple AD groups at the same time, which allows them to see the content of multiple audiences.
Next to an AD group per audience, you will most likely have nested groups coming from a potential security setup of row level and/or object level security. Again, these groups can be nested into the app audience groups. In the end, you will end up with many AD groups and therefore a proper setup naming convention to easily identify the group purpose is crucial to keep in manageable and maintainable.
Last, in the past you ended up with many workspaces due to the many audiences you wanted to serve. Now, with the new app audiences, it is way easier to setup domain oriented or departmental workspaces if you will. It becomes much easier to get a single place to host and maintain all your HR reporting solutions, or Finance, or anything else. Still, I believe that a workspace should be themed, either by domain, department or any other logical grouping. Let’s see workspaces as sort of folders in which you structure content just like you do on your documents folder or desktop. Avoid ending up having tons of unrelated reports in dropped into a single workspace, as you will lose oversight soon, given you cannot create folders on lower granularities within workspaces.
New app audiences, am I happy with it? Yes, for sure! Having fewer workspaces gives me a better overview and makes it way easier to setup domain-oriented workspaces, which gives an easier access point for self-service needs, as well as an easier way to put responsibilities and ownership to a person or group without requiring them to go through tons of disconnected workspaces. Especially if you have one domain-oriented dataset which you use for various reporting needs, you previously ended up with many workspaces. Now, with app audiences you can easily keep everything together and define the different audiences.
One thing which bugs me, is the limit in app audiences which is currently set to ten audiences per workspace. Especially if you look at a domain-oriented setup, it is pretty easy to hit the limits. I would rather see this limit being somewhere around 25 or so, or even unlimited. The current interface with the tabs in the app becomes a challenge though, if Microsoft decides to increase the number of audiences per app. A better UX is necessary to setup and maintain all these different audiences.
Going forward, for each new client of solution that I will build, I will no longer request or create a high number of workspaces, but rather go for a domain or department-oriented setup. Still at least three workspaces will be necessary, given I want to separate development, test and production workloads from each other. Naming contention for workspaces remains relevant though, to easily identify to which team or department a workspace belongs and in which stage (D/T/A/P) the workspace content is. In the past I already wrote a blog on workspace naming convention, which you can find here.
2 thoughts on “Multiple audiences for Power BI apps, will it change your workspace setup?”
Pingback: Power BI App Audiences and Workspaces – Curated SQL
Thanks a lot for the blog. I have a question about how to manage AD groups with different audiences. Example I have 20 AD groups (split by country and brands) and in the application I have 3 audiences (Global view, detailed view, budget view)