Power BI XMLA Endpoint: External Tools and Enterprise Workflows

Unlock Tabular Editor, DAX Studio, ALM Toolkit, and scripted model management through the XMLA endpoint. The foundation of enterprise Power BI automation.

Updated April 202618 min readBy Power BI Consulting

Quick Answer

The XMLA endpoint is the enterprise on-ramp for Power BI. Through it, you connect Tabular Editor for bulk model authoring, DAX Studio for query profiling, ALM Toolkit for deployment, SSMS for administration, and PowerShell/Python for automation. Enable XMLA read-write in your tenant settings and your team gains developer-grade control over every semantic model.

1. Enabling XMLA Read-Write

  1. In the Power BI Admin Portal, open Capacity settings.
  2. Select your Premium or Fabric capacity.
  3. Under Workloads, find XMLA Endpoint and set it to Read Write.
  4. Save changes. The setting applies to all workspaces assigned to that capacity.

The default setting is Read. For ALM-mature deployments, change to Read Write. Some organizations prefer to keep production Read and use a dedicated development capacity set to Read Write, then deploy to production via the REST API rather than direct XMLA writes.

2. Tabular Editor Workflows

Tabular Editor is the primary authoring tool for enterprise Power BI models. Key workflows:

  • Bulk measure creation: generate 100 time intelligence measures in 5 minutes using C# scripts.
  • Object-Level Security: configure table and column permissions that Power BI Desktop cannot.
  • Best Practice Analyzer: run BPA rules on every model for quality gates.
  • Calculation groups: design calculation groups for time intelligence, currency conversion, and unit rollups.
  • Partition management: create, modify, and process partitions for incremental refresh and custom partitioning strategies.
// Tabular Editor C# script: generate YTD measures
// for every base measure tagged as "Aggregate"
foreach (var m in Model.AllMeasures.Where(m => m.Description.Contains("[Aggregate]")))
{
    var newName = m.Name + " YTD";
    var newExpression = $"CALCULATE([{m.Name}], DATESYTD('Calendar'[Date]))";
    var ytd = m.Table.AddMeasure(newName, newExpression);
    ytd.FormatString = m.FormatString;
    ytd.DisplayFolder = m.DisplayFolder + "\\YTD";
}

3. DAX Studio Profiling

DAX Studio connects to the XMLA endpoint and profiles queries at the storage engine and formula engine level. Standard workflow:

  1. Connect to the workspace and select the semantic model.
  2. Enable Server Timings in the Home ribbon.
  3. Paste the problem DAX query from Power BI Performance Analyzer.
  4. Click Clear Cache then Run. DAX Studio shows FE time, SE time, and query plan.
  5. Iterate: modify the query, re-run, compare. Keep the version with lowest SE time.

For a full workflow, see our DAX Studio enterprise guide.

4. ALM Toolkit for Deployments

ALM Toolkit compares two models and generates a script to make one match the other. Use it to diff a development workspace against production, validate deployment rules, or copy selected changes between environments.

  1. Connect source (for example, a .bim file in source control) and target (production workspace).
  2. Click Compare. The tool highlights added, modified, and deleted objects.
  3. Select which changes to deploy. You can cherry-pick specific measures or tables.
  4. Click Update. ALM Toolkit generates TMSL and executes it against the target.

Always run Compare before Update. Surprises at deployment time cause production incidents.

5. PowerShell Automation

# Process a specific partition via XMLA
Import-Module SqlServer

$server = "powerbi://api.powerbi.com/v1.0/myorg/Sales Workspace"
$database = "Sales Analytics"

$tmsl = @"
{
  "refresh": {
    "type": "full",
    "objects": [
      {
        "database": "$database",
        "table": "FactSales",
        "partition": "2026-Q1"
      }
    ]
  }
}
"@

Invoke-ASCmd -Server $server -Database $database -Query $tmsl `
    -Credential $serviceAccount

PowerShell is ideal for scheduled operations, multi-workspace bulk updates, and integration with Azure DevOps pipelines. Use the MicrosoftPowerBIMgmt module for REST API calls and the SqlServer module for XMLA/TMSL commands.

Frequently Asked Questions

What is the XMLA endpoint?

The XMLA endpoint is a network endpoint exposed by Power BI Premium, Premium Per User, and Fabric F SKUs that accepts the industry-standard XMLA protocol for querying and managing analysis services models. Through the XMLA endpoint, external tools like Tabular Editor, DAX Studio, SSMS, and custom scripts can read model metadata, execute DAX queries, modify the semantic model, and deploy new models. It is the foundation of enterprise Power BI automation.

What is the difference between XMLA read and read-write?

XMLA read (enabled by default on supported capacities) allows external tools to query the model and read metadata. XMLA read-write (tenant setting must be enabled) additionally allows external tools to modify the model: create measures, change tables, add roles, deploy entirely new models. For enterprise ALM with TMDL source control and CI/CD, you must enable read-write. Leaving read-write disabled is a design choice for organizations that want to lock down editability to Power BI Desktop only.

What external tools use the XMLA endpoint?

The core tools are Tabular Editor (free v2, paid v3) for model authoring, DAX Studio (free) for query profiling, ALM Toolkit (free) for deployment and diffing, SQL Server Management Studio (free) for SSAS-style administration, and Visual Studio with Analysis Services projects for traditional development. PowerShell modules and Python libraries (sempy, sempy-labs) also speak XMLA under the hood. Choose tools based on task: TE for authoring, DAX Studio for profiling, ALM Toolkit for diffs.

How do I connect to the XMLA endpoint?

The connection string is powerbi://api.powerbi.com/v1.0/myorg/[WorkspaceName]. Authentication uses OAuth with Microsoft Entra ID. Most tools prompt for authentication automatically on first connect. For scripted access, use a service principal with Power BI workspace Contributor or Admin role, and authenticate using the client ID, tenant ID, and client secret. The tenant must have XMLA read-write enabled for write operations.

Can I deploy a model from source control via XMLA?

Yes. Store the model as a TMDL or .bim file in Git. Deploy by executing a TMSL Alter or Create command via XMLA endpoint, either using Tabular Editor CLI, PowerShell Invoke-ASCmd, or sempy-labs Python. This is the foundation of CI/CD for Power BI semantic models. For full ALM details see our <a href="/blog/power-bi-deployment-pipelines-ci-cd-2026">deployment pipelines CI/CD guide</a>.

Does the XMLA endpoint support paginated reports?

No. The XMLA endpoint exposes semantic models (tabular analysis services models) only. Paginated reports (RDL files) are managed through a separate REST API and Power BI Report Builder. If you need to automate paginated report deployments, use the Power BI REST API rather than XMLA.

Can I use the XMLA endpoint for large data export?

Technically yes, but with caveats. You can execute EVALUATE queries that return millions of rows and receive them as tabular result sets. However, the million-row query result limit still applies unless you are an Admin on the capacity. For bulk data export, it is usually better to query the underlying source directly or export from the Fabric Lakehouse than to pull through the semantic model.

What are common XMLA pitfalls?

Four common issues: first, assuming XMLA read-write is enabled when it is not; second, authenticating with user accounts that lack workspace permissions; third, deploying TMDL that references workspace-specific items (like dataflow IDs) without parameterizing them per environment; fourth, running ad-hoc write operations in production without source-control backing. The first operation of any XMLA automation pipeline should be to validate the connection can read metadata; the second should validate write permissions on a test workspace before touching production.

Need an XMLA-Driven Automation Layer?

Our consultants build XMLA-based CI/CD and administrative automation for enterprise Power BI estates. Contact us for an automation review.

Ready to Transform Your Data Strategy?

Get a free consultation to discuss how Power BI and Microsoft Fabric can drive insights and growth for your organization.