XMLA Endpoint & Reusable Assets
Deploy and manage semantic models programmatically. XMLA endpoints, .pbit templates, .pbids files, and shared semantic models.
Enterprise model management
Think of the XMLA endpoint as a back door to your semantic model.
Power BI Desktop is the front door β click and design. The XMLA endpoint is the maintenance entrance β powerful tools (SSMS, Tabular Editor, DAX Studio, ALM Toolkit) connect directly to manage the model programmatically. Scripted deployments, automated testing, and bulk changes all use XMLA.
Reusable assets (.pbit templates, .pbids files, shared models) are like recipe cards β standardised starting points that save teams from rebuilding the same thing every time.
XMLA endpoint
What can you do with XMLA?
| Operation | Read | Read/Write |
|---|---|---|
| Query the model with DAX | Yes | Yes |
| View model metadata | Yes | Yes |
| Check refresh status | Yes | Yes |
| Deploy a model (overwrite) | No | Yes |
| Process (refresh) tables | No | Yes |
| Modify model objects (add measures, tables) | No | Yes |
| Script and automate deployments | No | Yes |
Tools that use XMLA
| Tool | Primary Use |
|---|---|
| SSMS (SQL Server Management Studio) | Model management, scripting, backup |
| Tabular Editor | Model editing, calculation groups, OLS/CLS, deployment |
| DAX Studio | DAX query analysis and performance tuning |
| ALM Toolkit | Model comparison and selective deployment |
| PowerShell (Invoke-ASCmd) | Automated scripting and CI/CD |
Enabling XMLA read/write
- In the Fabric admin portal, verify XMLA read/write is enabled for the capacity
- The workspace must be on Premium or Fabric capacity (not shared)
- Connect using the workspace connection URL:
powerbi://api.powerbi.com/v1.0/myorg/{workspace-name}
Scenario: Raj automates nightly model updates
Raj at Atlas Capital uses PowerShell with the XMLA endpoint to automate nightly model management:
- Refresh specific tables β only fact_trades (not slow-changing dimensions)
- Add daily partition β create a new partition for todayβs data
- Validate measures β run a set of DAX test queries and check results
- Alert on failure β send a Teams notification if any step fails
All of this runs as a scheduled PowerShell script β no manual intervention, no UI clicks.
Reusable assets
.pbit β Power BI Template
A .pbit file contains a report layout and semantic model definition without data. When a user opens it, they are prompted for connection parameters.
| Use Case | How |
|---|---|
| Standardised reports | Create a template with company branding, standard visuals, common measures |
| Client onboarding | James creates a .pbit for each report type; new clients open and connect to their data |
| Training | Distribute templates for workshops β students connect to sample data |
.pbids β Data Source file
A .pbids file defines a connection to a specific data source. Double-click it in Windows to open Power BI Desktop with the connection pre-configured.
{
"version": "0.1",
"connections": [
{
"details": {
"protocol": "tds",
"address": {
"server": "your-warehouse.datawarehouse.fabric.microsoft.com",
"database": "your-database"
}
}
}
]
}
Shared semantic models
A shared semantic model is a single, centrally managed model that multiple reports connect to:
- One model, many reports β avoids data duplication and measure inconsistency
- Build permission β report creators need Build permission on the shared model
- Cross-workspace β reports in different workspaces can connect to the same model
- Single source of truth β one place to define measures, relationships, and business logic
Exam tip: Shared models and Build permission
The exam frequently tests the shared model pattern:
- A shared semantic model is published to a workspace
- Report creators in OTHER workspaces connect to it using the Power BI semantic models connector as a data source
- They need Build permission on the model (granted via item sharing, not workspace roles)
- Changes to the shared model automatically reflect in all connected reports
Raj at Atlas Capital needs to automate nightly refresh of specific tables in a semantic model and add new daily partitions. Which approach is correct?
James at Summit Consulting wants 20 business analysts to build their own reports using a centrally managed semantic model. The analysts should NOT have access to the underlying workspace. What does James need?
π¬ Video coming soon
Congratulations! You have completed all 29 modules of the DP-600 study guide. Head to the practice questions to test your knowledge.