Welcome to part two in our series on Microsoft Fabric governance, where we apply principles we’ve learned from our work in Tableau to Power BI and the broader Microsoft Fabric ecosystem. In part one, we covered basics about users, roles and capabilities. In this article, we’ll discuss strategies for organizing and subdividing content.
Workspaces in Fabric Are Like Projects in Tableau (Sort Of)
Tableau users will be familiar with creating projects, and perhaps sub-projects, to organize content. Our friends at the Data School put together this helpful diagram, which shows the options for logical separation of content in Tableau Server. (Note that Tableau Cloud does not offer the option to create multiples sites, so Projects become the only method of grouping content.)
Above: A diagram of Tableau Server site structure from the Data School
In Tableau server, you can nest projects underneath each other to further divide content, which is basically like creating folders and sub-folders. Tableau also offers users two options to help them organize content themselves, by favoriting content or creating Collections.
In Fabric, the first option for logical separation of content is a Domain (you can technically create Subdomains, too), but the main method for organizing content is called a Workspace. It functions similar to a project in Tableau Server.
Above: A diagram of Microsoft Fabric content organization options
Domains and subdomains within Fabric will generally be determined by Fabric admins. Some articles suggest creating domains that align with major functional groups within your organization (like Finance, HR, Operations, etc.). Since Microsoft Fabric covers much more than just Power BI, those decisions about where to implement separate domains should be made with all Fabric experiences in mind.
Once those domains and subdomains are set, the only option for further subdivision is to create separate workspaces. Unlike Tableau, there are no options to divide content beyond a workspace (other than apps, which we’ll talk about in the next paragraph). That is to say, there are no options for nesting workspaces like you can nest projects in Tableau. And currently, there are no options for creating folders to organize content within a single workspace (though that functionality does exist in Power BI Report Service, so we wouldn’t be surprised if Microsoft adds that option to Fabric eventually).
We should mention, however, that Apps do provide some additional functionality for organizing content within a workspace, but they aren’t quite like creating a sub-folder. Apps are basically curated interfaces that enable users to access multiple reports with minimal clicking. They also allow one to remove datasets from the UI, which can help to declutter navigation so users see only what’s relevant. Below is a screenshot of a simple app that I created from some demo content. I just selected two reports from a workspace and created an app from them. Fabric automatically created the side navigation, which hyperlinks each report and nests links to various tabs underneath the main report link.
Above: An example of an app built from a Fabric workspace
At the time of publishing this, Fabric only allowed you to create one app per workspace, and apps cannot include content from other workspaces. So the feature is helpful, but does come with some limitations.
In terms of options for self-organizing content, Fabric does allow users to favorite content, but there isn’t an equivalent concept to Tableau’s Collections, where users can form their own groups of related content.
Tableau Has More Options for Fine-Tuning Permissions at the Content Level
Organizing content into the right projects (Tableau) or workspaces (Power BI) will make it a lot easier for users to find the content they need. But while projects and workspaces will achieve that initial layer of organization, sometimes you’ll need to fine-tune how content is shared. There’s one key difference to keep in mind between Tableau and Power BI/Fabric at this point: Tableau allows you to override permissions at the folder level and assign them for individual content. Power BI/Fabric does not. Let me explain a bit more.
While we generally encourage people to leave content permissions locked at the project level (because it makes managing permissions easier), Tableau allows you to unlock permissions if you need to assign different permissions to content contained within the same project.
Above: Tableau allows you to customize permissions for individual pieces of content
This option to restrict permissions at the content level does not really exist in Fabric. Once a user has access to a workspace, they can see all content in that workspace (unless you’ve implemented row- or object-level security in the underlying data source). There is no equivalent option to unlock permissions and manage them at the content level. So, while you can give users access to a folder in Tableau even if they shouldn’t see all things in that folder, you would approach that situation differently in Fabric, allowing only people who should see everything into the workspace, and sharing content individually with people who should not have access to everything in the workspace.
Above: In Tableau, you can mix permissions within a project. In Fabric, you should only give someone access to a workspace if they should see all the content in it.
Thoughtfully Planning Workspaces Is Essential in Fabric
Because there aren’t quite as many options to customize access to content within Fabric, you’ll want to carefully plan your workspaces so managing permissions doesn’t become too cumbersome. Microsoft Learn has some great resources to help you decide how to organize workspaces. We’d recommend reviewing their articles on tenant-level planning and workspace-level planning to help you think through your approach. Their articles also have lots of helpful tips like considering separate workspaces for development and production content or using prefixes (FIN, HR, etc.) to name similar workspaces (if you’re organizing workspaces by department). Keep in mind that if you get the core groups of content right through workspaces, you can also use apps for that final bit of curation to fine-tune the presentation layer for your reports.
These core principles should get you off to a solid start with content organization in Fabric. In the next article, we’ll give you some tips for managing content lifecycles and further curating content for users by using techniques like content certification, promotion and deployment.