🎯 Situation
A client's BI team had one workspace for everything: development, testing, and production. Reports that users relied on daily were in the same workspace where developers were adding new visuals, changing data models, and fixing bugs. Three times in six months, a developer's change broke a production report that executives were using in a board meeting. Deployment pipelines were the fix — and the entire setup took one afternoon.
⚠️ Challenge
🧑💻 Dev stage — where all work happens
- All development happens here — new visuals, data model changes, measure updates
- Connected to development data sources (a test database or anonymized copy of production data)
- Developers publish .pbix files here — not to Test or Prod directly
- Breaking changes stay contained — if something breaks, only the Dev workspace is affected
- Multiple developers can work here simultaneously without impacting users
📋 Test and Prod stages
- Test stage: receives promoted content from Dev — QA reviewers validate the report against real data before Prod
- Test connects to production data (or a full copy) — what users see in Prod is what testers see in Test
- Promotion from Test → Prod requires explicit approval — no accidental overwrites
- Prod stage: users' reports live here — never directly edited, only updated via promotion
- Rollback: if a Prod deployment causes issues, the previous version is one button click away
🔍 Analysis
Setup in 4 steps:
- In Power BI Service, go to Deployment Pipelines → Create a pipeline → name it (e.g., 'Sales Dashboard Pipeline')
- Assign workspaces: select your existing Dev workspace for the Dev stage. Fabric/Service creates the Test and Prod workspaces automatically
- Configure data source rules: in Test and Prod stages, override the Dev data source connection to point to the correct database for each environment
- Deploy: click 'Deploy to Test' from Dev. Review in Test. Click 'Deploy to Prod' from Test. Production is updated — Dev workspace untouched.
✓️ Best Practice
Three practices that make pipelines work well in teams:
- Require a second reviewer for Test → Prod deployments — not the same developer who made the change. One review cycle catches 80% of issues before they reach users.
- Use the comparison view before deploying — Power BI shows you exactly what changed between stages (dataset schema, report pages, measures). Review it before every Prod deployment.
- Document what changed in each deployment — even a one-line note in a shared log: 'Added margin % to Executive Summary page, 2026-11-20.' When something breaks in 3 months, you'll know when it was introduced.
💡 Summary
Deployment pipelines are the difference between Power BI as a personal tool and Power BI as enterprise infrastructure. A team that develops directly on production is one accidental save away from a broken executive dashboard. A team with Dev → Test → Prod has a process — and a rollback button.
👉 Production reports should never be edited directly.
Dev → Test → Prod. One afternoon to set up. No more broken dashboards in board meetings.