Forum Discussion
PowerBIModelNotFoundException when publishing Power BI report to Azure Power BI
- 1 year ago
Hi Anonymous , Thank you for reaching out to the Microsoft Community Forum.
Yes, Power BI Deployment Pipelines can automatically rebind reports to the correct semantic models during deployments between Dev, Test and Prod, if the reports and datasets are included in the pipeline. You just need to configure dataset rules in the pipeline settings to map each report to the appropriate dataset in each stage. When those rules are in place, deploying from one stage to another will automatically rebind the report, no manual steps required. To fully automate this in your Azure DevOps pipeline, you can use the Power BI REST API to trigger deployments between pipeline stages.
Parameterizing live semantic model connections in PBIX files is not supported. When you connect a report to a Power BI dataset, that connection is hardcoded in the PBIX. You can't change it using parameters, environment variables or PowerShell before publishing. The only way to switch the dataset is after publishing, using the Rebind Report In Group API, which you're already doing correctly.
If this helped solve the issue, please consider marking it “Accept as Solution” and giving a ‘Kudos’ so others with similar queries may find it more easily. If not, please share the details, always happy to help.
Thank you.
Hi Anonymous , Thank you for reaching out to the Microsoft Community Forum.
The New-PowerBIReport cmdlet is not the right tool. While it includes a ConflictAction CreateOrOverwrite parameter, it fails when the report is connected to an external dataset. This is because Power BI treats the report as a new object due to the embedded dataset reference, which it doesn't resolve correctly during publish. Instead, you should use the Import-PowerBIReport cmdlet, which reliably supports overwriting reports in a workspace. This method ensures the report is replaced without needing to delete the existing one manually. However, since the .pbix file retains its original dataset binding from the source workspace, it will continue to point to that dataset even after import.
To fix this, you must explicitly rebind the report to the dataset in the target workspace using the REST API. Power BI does not automatically switch the connection, even if the target dataset has the same name or schema. Rebinding ensures the report uses the correct semantic model in the destination workspace and avoids any cross-workspace dependency issues. Make sure you authenticate using Connect-PowerBIServiceAccount or a service principal and obtain a valid $accessToken for the REST API call. After this process, your report will be updated, overwrite the existing version and point to the correct semantic model in the same workspace.
If this helped solve the issue, please consider marking it 'Accept as Solution' so others with similar queries may find it more easily. If not, please share the details, always happy to help.
Thank you.
Hello v-hashadapu , thanks for your reply.
I'm getting the following error when trying to use 'Import-PowerBIReport' cmdlt:
The term 'Import-PowerBIReport' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again.
And I don't find it in the official docummentation: https://learn.microsoft.com/en-us/powershell/module/microsoftpowerbimgmt.reports/?view=powerbi-ps
Can you please advise?