Forum Discussion
On prem Power BI server to Fabric migration
We have a set of 400 reports whoich we need to migrate from on premise to Fabric. Please help me with steps for this migration.
4 Replies
- jubinsoni
Solution Sage
Hi Soumeli,
For 400 reports I would treat this as a small project with an inventory first, because Report Server content usually splits into two different migration paths. A plan that has worked well:
1. Inventory everything with the Report Server REST API, so you know what you have, what is still used, and what can be retired:
$base = "https://<server>/reports/api/v2.0" $items = (Invoke-RestMethod "$base/CatalogItems" -UseDefaultCredentials).value $items | Where-Object { $_.Type -in "PowerBIReport","Report" } | Select-Object Name, Path, Type, ModifiedDate | Export-Csv .\rs_inventory.csv -NoTypeInformation # join with ExecutionLog3 in the ReportServer DB to drop reports nobody opens2. Split by type:
Power BI reports (.pbix, Type = PowerBIReport) -> download, open in the regular Power BI Desktop (not RS edition) -> repoint sources, publish to Fabric workspaces (or script via REST API) -> configure gateway connections + scheduled refresh in the Service Paginated reports (.rdl, Type = Report) -> publish as paginated reports in Fabric (needs a capacity) -> Report Builder or the RDL migration tooling for bulk upload -> shared data sources become gateway connections; check custom code, subreports and expressions that reference RS-only features3. Rebuild what does not migrate as files: folder security becomes workspace roles / apps, subscriptions must be recreated in the Service, RLS role membership is reassigned, and on-premises sources need an on-premises data gateway.
4. Migrate in waves (for example by department folder), validate numbers side by side, then switch users over with an org/workspace app per area.
So my overall approach would be:
Inventory via REST API + usage from ExecutionLog3 -> Retire unused reports -> .pbix -> Fabric workspaces + gateway + refresh -> .rdl -> paginated reports on capacity -> Recreate security, subscriptions, apps; migrate in wavesAI-assisted drafting: AI was used to help structure and phrase this response. I reviewed and validated the technical content before posting.
- Sahir_Maharaj
Super User
Hello Soumeli,
I'd recommend a phased migration with automation - not moving everything manually.
Start by inventorying your reports, data sources, dependencies, and permissions using the Power BI Report Server REST API. Then separate your PBIX and RDL reports, as they require different migration approaches.
From there, I'd suggest using the Power BI REST APIs or PowerShell to automate deployment in batches.
Start small with 10 - 20 reports as a pilot, validate the data and functionality against Report Server, and then progressively migrate the remaining reports.
- v-aatheeque
Community Support
Hi Soumeli
Following up to confirm if the earlier responses addressed your query. If not, please share your questions and we’ll assist further.
- v-aatheeque
Community Support
Hi Soumeli
Have you had a chance to look through the responses shared earlier? If anything is still unclear, we’ll be happy to provide additional support.