Forum Discussion
How to handle Multiple Tenants with Multiple Workspaces/Datasets?
- 5 years ago
Thanks for your sugestion.
However, because RLS is not what we want (we want to separate Tenant data in different Databases), I was able to find a different solution for this: at the Dataset level I created a Parameter that I use to define the Database name (one database per Tenant). Then, I just publish the report in multiple Workspaces normally. I can then change the parameter value in each workspace to be the correct value based on Tenant/DB Name.
With this strategy, any further change to the report can be easly controlled because there is only one report.
droad So, yes, you could save your PBIX file as a PBIT file. This saves it without the data but same everything else. Then you create a new PBIX file from this and point it to the new data sources. Presto, new report.
Now, this can be a maintenance nightmare because if you make a substantive change you would have to go back and update every report. Thus, if it fits within your constraints, I would recommend using Row Level Security (RLS). In this case you would import all of the databases into the same dataset and create roles with associated DAX rules. So, for example, you could have roles for each customer and a DAX rule like:
[Customer] = "ABC Customer"
Then they can all go the the same report but they will only see their data and not anyone else's data.
- droad5 years agoNew Member
Thanks for your sugestion.
However, because RLS is not what we want (we want to separate Tenant data in different Databases), I was able to find a different solution for this: at the Dataset level I created a Parameter that I use to define the Database name (one database per Tenant). Then, I just publish the report in multiple Workspaces normally. I can then change the parameter value in each workspace to be the correct value based on Tenant/DB Name.
With this strategy, any further change to the report can be easly controlled because there is only one report.