I'm trying to figure out the best way to support multiple development environments in Power BI. Specifically, we have completely separate Development / Test / Prod web servers, each with their own databases and their own copies of source code. From a coding perspective, we write code on our local, push to the git repo, deploy the code to Development, test it, deploy the code to Test, perform more testing, and then finally deploy to Prod. Each server has its own separate database, and the source code is all managed by Git.
Ideally, we would follow this same work flow in Power BI. This is essentially what we would want if it were possible for new reports:
Any time there's a new report, we would create the report on Development.
We would embed this report on the Development server, and it would use data from the Development database.
After the report gets tested, we would want to move the report to the Test environment without having to recreate the report from scratch. The report would use data from the Test database. Meanwhile, if you still wanted to view the report on Development, it would still be there and still use data from the Development database.
Once the report goes to Prod, it would use data from the Prod database. Meanwhile, the report would still be on both lower environments using the lower envionment databases.
We would also ideally want a similar workflow when updating the source data model. For example, this is what we would want if, hypothetically, we had to change the calculation on one of the calculated columns used in reports:
We would make the change on Development, and it would be reflected in all reports in Development.
After the change is tested, we would copy the change to the Test environment, ideally without having to recreate the change manually. The new calculation would then be reflected in all reports on both Development and Test, but not yet on Prod.
Repeat again for Prod.
Is a workflow like this possible in Power BI? Or will we have to modify how we approach things? Thanks.