Forum Discussion
Report Builder / semantic model / workspace query
- 8 months ago
Hi simondavis1970 ,
Yes, what you’re seeing is expected behavior. For paginated reports, deployment pipeline data source rules function differently compared to standard Power BI reports. These rules only allow you to adjust the connection details, but you can’t browse workspaces or select a semantic model by name.
That’s why
1. You only see endpoints like pbiazure://api.powerbi.com/ and database names that look like GUIDs
2. Choosing Other just lets you edit these values directly.
3. There isn’t an option to pick a workspace or semantic model.
This is a current limitation of paginated reports in deployment pipelines, so you’re not doing anything wrong.
As a result, pipelines can’t automatically switch a paginated report from a UAT semantic model to a Prod semantic model. The main options are to either.
1. Maintain separate paginated reports for each environment.
2. Manually update the data source in Report Builder and publish the report directly to Prod.
Helpful reference
Re: Paginated Report and Deployment Pipeline datas... - Microsoft Fabric Community
I hope this clarifies things and helps you.
Hi simondavis1970 ,
Welcome to the community! You have inherited a bit of a classic configuration mess, but your detective work is spot on.
To answer your questions directly:
1. Have you read that correctly? Yes. Looking at your screenshot (image_c800a2.png), the Data Source connection string explicitly points to the workspace wscus_uat.... This means your Production report is crossing boundaries to read UAT data. This is risky because if someone breaks the UAT model during testing, your Production report will crash.
2. How to fix this? Do not follow the plan you listed ("Change the semantic model to the Prod version and republish to UAT"). Why? If you do that, your UAT report will start looking at PROD data. You generally want UAT reports to look at UAT data for safe testing.
The "Best Practice" Fix: Deployment Rules Since you are already using Deployment Pipelines, you do not need to manually edit the file. You should use the Pipeline to swap the connection automatically during deployment.
Fix the Source (UAT): Ensure the report in the UAT Workspace is connected to the UAT Semantic Model. (This seems to be the current state, so leave it).
Configure the Rule (The Magic Step):
Go to your Deployment Pipeline view in the Service.
Look at the Production stage.
Click the Deployment rules icon (lightning bolt) above the stage list or usually found on the specific artifact line item in newer versions.
Select the Paginated Report.
Add a Data source rule.
Rule Logic: "For the source UAT_Dataset, replace it with PROD_Dataset".
Save the rule.
3. Deploy: Now, re-deploy the report from UAT to Prod. The pipeline will read the rule, inject the Production Dataset ID into the RDL file, and your Production report will now correctly point to Prod.
This method ensures UAT stays pointing to UAT, and Prod stays pointing to Prod, without you ever having to open Report Builder.
Hope this helps you untangle the setup!
If my response resolved your query, kindly mark it as the Accepted Solution to assist others. Additionally, I would be grateful for a 'Kudos' if you found my response helpful.
This response was assisted by AI for translation and formatting purposes.
- simondavis19708 months agoNew Member
burakkaragoz thank you so much for this, it's been enlightening!
However (you knew that was coming) when I try to set up the rule as you describe, I am having a problem.
The "From" entry defaults in the current UAT semantic model but when selecting the "To" data source (Prod), this is what it gives me is these as the default options:
I don't recognise either of those values - I'm not saying they're not correct, rather that I don't usually need to know those details - so I haven't come across them before.
If I check "Other" then it just puts those two values into text boxes - like this:
I expected/hoped that it would allow me to select from all of our existing Workspaces, then to pick the specific semantic model I want.
Is that what you would expect to see at this stage?