Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Next up in the FabCon + SQLCon recap series: The roadmap for Microsoft SQL and Maximizing Developer experiences in Fabric. All sessions are available on-demand after the live show. Register now

Reply
ctoscher
Helper I
Helper I

How to structure multiple reports to scale with complex RLS?

We currently have about 20 reports planned for our first Power BI project.

Managing these all in one pbix file is manageable, however, some of our other projects could see dozens of datasets and hundreds of reports.

Wondering what you guys have done from the point of management for larger datasets (or ones that are growing)?

 

I know we can split the dataset/report into two files (linking the dataset file to the report file) to split the logic/viz.

While that's useful to some degree, our challenge is mostly related to RLS.

 

How would we ensure proper access via RLS with the entire dataset when our RLS has so many conditions.

For RLS:

  • We have clients (via a Client -* Contacts table relationship) that limits them to only their client data.
  • We have client managers (via Client *-* Users [type=manager] table relationship) that limits them to only their clients' portfolios
  • We have other user roles in the company that permit supervision of specific client managers (Client *-* Users [type=manager][get:supervisor])
  • We may also limit users by offices (Client *-* Users [get:office])
  • We may also limit users by company as we own multiple companies (Company - Client *-* User -* Company)
  • Or not limit (full portfolio)

Trying to reuse the RLS above and ensure filters are properly handled for all reports is especially challenging.

Keep in mind this doesn't cover all our RLS conditions, and some of them may be stacked (e.g. user works for company X and is in office Y).

 

We're working with an archaic system, so there isn't opportunity for us to improve the db structure.

Just trying to find a way to work with it to pull improved analytics.

 

The idea here would be use have one project that handles RLS + filters for our web app to tie into.

Then reuse that RLS dataset for other datasets to ensure proper access is granted to the user and perform appropriate calculations based on their access.

1 ACCEPTED SOLUTION

Hey @ctoscher ,

 

yes, you can add them manually, one by one in every workspace and then map the role - one - by - one.

And don't forget to manually remove them everywhere when they change department or go out of your company...

To be honest, I would not go that way, that's not really manageable if you're more than 5 people in your company.

 

Another approach is you can script that and use the Power BI REST API:

Groups - Add Group User (Power BI Power BI REST APIs) | Microsoft Docs

 

If you need any help please let me know.
If I answered your question I would be happy if you could mark my post as a solution ✔️ and give it a thumbs up 👍
 
Best regards
Denis
 

 

Best regards

Denis

View solution in original post

4 REPLIES 4
selimovd
Super User
Super User

Hey @ctoscher ,

 

dozens of data sets and hundreds of reports are common. Usually you split them by department or project, that you have a few workspaces with a few data sets and reports each. That is managable then.

 

You can create different roles for each data set.

The roles you would assign by AD groups to make it more manageable. A user can also have multiple roles as he might be responsible for multiple countries or something similar, then the access is adding up.

 

If you need any help please let me know.
If I answered your question I would be happy if you could mark my post as a solution ✔️ and give it a thumbs up 👍
 
Best regards
Denis
 

Thank you @selimovd.

 

Is there any way to manage users without AD?

We have AD, but as mentioned, it's legacy software, so we're quite limited in its capacity and must tie into SQL.

Hey @ctoscher ,

 

yes, you can add them manually, one by one in every workspace and then map the role - one - by - one.

And don't forget to manually remove them everywhere when they change department or go out of your company...

To be honest, I would not go that way, that's not really manageable if you're more than 5 people in your company.

 

Another approach is you can script that and use the Power BI REST API:

Groups - Add Group User (Power BI Power BI REST APIs) | Microsoft Docs

 

If you need any help please let me know.
If I answered your question I would be happy if you could mark my post as a solution ✔️ and give it a thumbs up 👍
 
Best regards
Denis
 

 

Best regards

Denis

Hey @ctoscher ,

 

did it work with the scripting via REST API or the AD groups?

I'm curious if you could solve this issue 🙂

 

If you need any help please let me know.
If I answered your question I would be happy if you could mark my post as a solution ✔️ and give it a thumbs up 👍
 
Best regards
Denis
 

Helpful resources

Announcements
New to Fabric survey Carousel

New to Fabric Survey

If you have recently started exploring Fabric, we'd love to hear how it's going. Your feedback can help with product improvements.

Power BI DataViz World Championships carousel

Power BI DataViz World Championships - June 2026

A new Power BI DataViz World Championship is coming this June! Don't miss out on submitting your entry.

Join our Fabric User Panel

Join our Fabric User Panel

Share feedback directly with Fabric product managers, participate in targeted research studies and influence the Fabric roadmap.

March Power BI Update Carousel

Power BI Community Update - March 2026

Check out the March 2026 Power BI update to learn about new features.