Forum Discussion
Dynamically link template PBIX file to client specific data sources, leveraging App Workspace
mStreetAdvisory - Yep, I completely understand that. Only thing I can think of then is to build some kind of dev ops pipeline where you can automatically set this depending upon who you are deploying it for. I get the contracts issue but it just makes things very inelegant overall.
Hey Greg_Deckler ,
I agree and please vote for this.
However, your suggestion alone will not solve the issue, as if you had 1 repport on several datasets, as a small change to a dataset will still unfortionately require all report datasets to be changed. And normally in Power BI the dataset changes when the report changes a bit more.
Good workarounds:
I run a similar setup for ca. 500 separate client companies, all on separate instances so I know what you are going through.
We have solved this by having a looping script that goes through all clients and:
1. For small changes (no measure or dataset changes)
--> Push in the new report, bind the dataset to it, validate and then start using the new report.
2. For large changes (to a measure or larger dataset change)
--> Push in new report and new dataset, bind these URL:s to your production enviroment.
This is Better than a single template app for some schenarios, as we allow users to edit the repors via power bi embeded, and those edits need to be programatically found and replicated in newer versions.
So we only have 1 template and over night we systematically update that to all clients.
Lessons:
1. Have them all in the same workspace and have 1 set of credentials that works for all your instances, will make orchestration easier. Does increase data leak risk though.
2. Only remove old after a short waiting period as power bi api can be quite buggy some times.
3. Don't try to do it all at once, power BI api has some thresholding limitations
4. Your power bi capacity cannot handel too much refresh load at once, spread your refreshes out durring the day.