This blog post explains how to switch the report pointed to semantic model 1 to different semantic model without loosing the report configurations like GUID, subscriptions etc.
Let me explain the scenario, consider we have a dataset called “semantic model A” and we created a report using semantic model A and that is called “Report 1”. Later, we created another new dataset pointing to different data sources and that is called “semantic model B”. We need to point the report “Report 1” to semantic model “Semantic model B”.
Note- Dataset is nothing but semantic model

You may be encountering the above scenarios when you have your data sources are migrated from one platform to another platform for example Teradata to Snowflake or you might create a dataset and reports using excel source for demo purpose and you may want to start use with your database.
With Power BI Desktop
We can think of using Power BI Desktop to switch the connections, but it will end up create new report with same name against new dataset.
For example, open the report “Report 1” and go to “Data source settings” under Transform data.

Choose “Dataset B” and connect. Now your report points to Dataset B and Publish the report.

Once you click Publish and choose your workspace then it will not ask you to replace the existing report “Report 1” because “Report 1” was created using Dataset A and now we pointed to Dataset B so it will create new report with the same name for Dataset B as like below.

This will be the same case even if we try to use upload file option in the workspace. It will overwrite the existing report with same name.
So, you can’t achieve the solution using Power BI Desktop.
Solution
To maintain one version of report 1 and point to dataset B, we need to use “Rebind Report in Group” Power BI rest api.
If you have one report with this scenario, then you can use Try It option with in the rest api page and switch the dataset connection.
Check my video on how to use Try it.
Once you click Try It then pass the required inputs like,
- Group ID- Workspace ID
- Report ID
- Dataset ID – Target Dataset ID – In our case, it is Dataset B.
You can get the above details from the Power BI URLs.

Click Run and you will see the response like below.

Now, you successfully rebind or switch your report to new dataset. Check the workspace.
Existing lineage – Report 1 is pointing to Dataset A

Refresh your page and you will see the changes like below.

Considerations
You need to make sure the data structure is same for both Dataset A & B otherwise your report may show errors. Data structure includes – Table, column and measure names and data types.
Test your report once you repointed to the new dataset.
Let me know if you need any help and share your feedback
Happy Learning!!
Leave a Reply