Design and implement enterprise-scale analytics with Power BI
Domain 4 - Design and implement enterprise-scale analytics with Power BI
This domain tests the service-side lifecycle: workspaces, apps, deployment pipelines, capacity planning, gateways, and large-model features.
Content lifecycle
- Separate development, test, and production workspaces. Publish through deployment pipelines (Premium capacity or Premium Per User required), using parameter rules to swap connection strings and data sources per stage.
- Distribute to consumers through apps with audiences; keep workspace access restricted to authors.
- Use XMLA read/write with Tabular Editor, TMSL, or ALM Toolkit for version control, scripted deployment, and fine-grained model edits.
Capacity and scale features
- Premium P SKUs, Embedded EM/A SKUs, and Fabric F SKUs provide dedicated capacity; PPU provides per-user premium features.
- Large semantic model storage format removes the default model size limit and is required for very large imports.
- Incremental refresh requires
RangeStartandRangeEndparameters and partitions the table so only recent partitions refresh. - Query caching serves repeated import-model queries from cache; it does not apply to DirectQuery models.
- Enterprise gateways run in a cluster for high availability; personal gateways are not suitable for shared production datasets.
Worked example
A production dataset must point at the prod SQL server after promotion from test. Define ServerName and DatabaseName parameters in Power Query, then create data source rules in the deployment pipeline mapping each stage to its own values. Reasoning: parameter rules rewrite the connection at deploy time without editing the file, so the same artifact promotes cleanly and no manual rebinding is required.
Traps
- Editing a dataset directly in production, which breaks the pipeline's source-to-target comparison.
- Assuming deployment pipelines copy refresh schedules and permissions; they do not.
- Expecting query caching to help a DirectQuery report.
- Relying on a personal gateway for a shared dataset.
- Forgetting that XMLA read/write and large models require Premium-class capacity.