How to organize workspaces in a Power BI environment?

FacebooktwitterredditpinterestlinkedintumblrmailFacebooktwitterredditpinterestlinkedintumblrmail
how to organize Power BI workspaces?

The question I often get in my Power BI architecture consulting sessions is that; “How should we organize our workspaces? should we have one workspace with all the reports in it? or multiple? should we split it based on each report? business unit? or something else?” In this article and video, I’ll explain a guide of how to organize and setup workspaces in your organization.

What is a workspace in Power BI?

If you don’t know what the workspace is, read my article here explaining it. In a nutshell, a workspace is an environment to host and share Power BI content.

Consider a Power BI workspace as a single sharing unit

You can have multiple Power BI objects (dashboards, reports, datasets, dataflows, etc) inside a workspace, but when you share it, you share all of it. When I am speaking of sharing, I mean one of the workspaces sharing methods of course. By using Power BI apps, you can share a subset of the content, and using basic sharing, you can share an individual object. However, I don’t recommend using basic sharing for content in the workspace. and for the rest of this article, I do not consider that option for sharing the content of a workspace.

This means that the entire content in your workspace would be shared with someone who has an access role in your workspace (Administrator, Member, Contributor, or Viewer), and a subset of that to the Power BI app users.

You cannot share part of the content of a workspace with some users, and another part of it with other users. The Power BI workspace is one single sharing unit.

Separating audiences with multiple workspaces

Based on the above explanation, it is understandable that for a different group of audiences you will need a separate workspace. In the below screenshot, if you have two sets of reports which should be shared with two different audiences, you won’t get them all hosted in one workspace.

sharing the content of one workspace with a single group of audience

If you have two different sets of reports, for two different groups of audiences, then you need two different workspaces.

separate Power BI workspaces for different audiences

This means that if you have 12 groups of audiences for 12 sets of different reports, then you would require 12 workspaces.

Be careful not to count data row-level-access as a separate group of audience. For example, if you have one report, but the audiences of that report will see part of the data, then they are all considered as the same group of the audience, and the access for them is managed in one workspace using Row-level security.

Split the load, Use the capacity

Another important reason for having a separate workspace is to split the load. This is normally the case when you use a dedicated capacity plan (Power BI Premium or Embedded). If you have a report with a very high consumption rate, you might want to keep it separate from other reports with low rate of consumption and have it hosted in a separate workspace. Because for each workspace, you can choose what dedicated capacity it would be hosted on.

capacity settings for a workspace

Shared workspaces among multiple user audiences

I’ve mentioned that one normal practice of having multiple workspaces is to have one per group of the user audience. This means for example, HR reports, in the HR workspace, and Sales reports in the Sales workspace. However, what if both of those reports are using a Date table? Then you need a date table to be accessible for both groups.

Having a shared workspace is an important part of a Power BI architecture. This technique will reduce the redundancy in the implementation, increases the consistency, and helps in the overall development process of the Power BI content.

shared Power BI workspace to reduce redundancy

I have explained the concept of dataflow in this article if you want to know more about it.

Layered of shared workspaces

The shared workspaces can have more than just dataflows, they can have datasets too. In fact, you can have layered of shared workspaces. For example, the Date table is something that probably all other workspaces are using, but something like the Account table might be only needed for a handful of workspaces in the organization.

Layered of Power BI shared workspaces are often needed for an organization

Separating the Environments

Another good use-case for having multiple workspaces is to separate the environment. For a proper Power BI implementation (or any other software development implementations) you need to have a different environment for Development, Test and Production. This has tons of benefits in the development process and will bring the trust into the adoption, because the content in the production environment will be passing through multiple checks and validations.

Deployment pipeline to manage DEV, Test and PROD environments

The screenshot above is a screenshot of the deployment pipeline in Power BI Premium, which helps you to set up the deployment between the environments. However, even if you do not have the Premium license, you can still use the concept of DEV, TEST, and PROD environments, and use PowerShell scripts to handle the deployment between them.

Separate DEV, TEST, and PROD environments in Power BI workspaces

Workspaces as development layers

Having the environments of DEV, TEST, and PROD are not the only workspace structure that helps the development of Power BI solutions. There are some other development practices that you can use by separating workspaces. One of them is what I explained in detail in this article.

multiple layers of development workspaces for Power BI implementation

In the above screenshot, there are multiple workspaces for staging dataflows, and transformations. In real-world scenarios, there can be more than these two layers depends on the complexity of the implementation.

How to organize workspaces in my organization?

To summarize, there are many important factors in the workspace structure. You would need to have separate workspaces based on the user audiences. It is better to have Dev, Test, and Prod layers through workspaces. You have to consider the usage of shared workspaces to reduce redundancy, and increase consistency. You can also split the load on the reports using multiple Power BI workspaces.

As you can see there is a lot to think about when you design the workspace structure. This is a design that would be different from organization to organization. In my architecture advisory gigs, I normally go through many of these processes. So I thought, it is better to explain some of them here so it helps you too. Please feel free to let me know in the comments below if you have any questions.

Video

FacebooktwitterlinkedinrssyoutubeFacebooktwitterlinkedinrssyoutube
Reza Rad on FacebookReza Rad on LinkedinReza Rad on TwitterReza Rad on Youtube
Reza Rad
Trainer, Consultant, Mentor
Reza Rad is a Microsoft Regional Director, an Author, Trainer, Speaker and Consultant. He has a BSc in Computer engineering; he has more than 20 years’ experience in data analysis, BI, databases, programming, and development mostly on Microsoft technologies. He is a Microsoft Data Platform MVP for nine continuous years (from 2011 till now) for his dedication in Microsoft BI. Reza is an active blogger and co-founder of RADACAD. Reza is also co-founder and co-organizer of Difinity conference in New Zealand.
His articles on different aspects of technologies, especially on MS BI, can be found on his blog: https://radacad.com/blog.
He wrote some books on MS SQL BI and also is writing some others, He was also an active member on online technical forums such as MSDN and Experts-Exchange, and was a moderator of MSDN SQL Server forums, and is an MCP, MCSE, and MCITP of BI. He is the leader of the New Zealand Business Intelligence users group. He is also the author of very popular book Power BI from Rookie to Rock Star, which is free with more than 1700 pages of content and the Power BI Pro Architecture published by Apress.
He is an International Speaker in Microsoft Ignite, Microsoft Business Applications Summit, Data Insight Summit, PASS Summit, SQL Saturday and SQL user groups. And He is a Microsoft Certified Trainer.
Reza’s passion is to help you find the best data solution, he is Data enthusiast.

8 thoughts on “How to organize workspaces in a Power BI environment?

  • Thanks Reza for another great article. I am wondering about a situation when I have one big report and I need to publish it for several teams (let’s assume 10 groups). Each group has to see a different set of pages of the same report. What is your recommendation in such a case?

    • Hi Mati
      I would suggest using the method I explained here.
      This means create a shared dataset in a workspace, and multiple reports to it from other workspaces. each report can be build for the audiences that would see those pages of the report. then create apps from each of those workspaces.
      Cheers
      Reza

  • What do you think about publishing Power BI apps instead of sharing workspaces with end-users? Isn’t this apps concept all about enterprise level Power BI? Why do you not recommend it?

    • Hi Martin
      I DO RECOMMEND using Power BI apps to share the content with the end-users. However, this article wasn’t about apps, it was only about the workspace aspects of things. Even using Power BI apps, you still need workspaces for some parts, and app for the end user sharing.
      Cheers
      Reza

Leave a Reply

%d bloggers like this: