How to Get Power BI XMLA Endpoint

Cody Schneider8 min read

The Power BI XMLA endpoint is your gateway to transforming a Power BI workspace into an enterprise-grade data modeling environment. It allows powerful third-party tools to connect directly to your Power BI datasets, opening up a world of advanced development, management, and automation possibilities. This article will show you exactly how to enable the XMLA endpoint in your Power BI admin settings and how to find the specific workspace connection URL you'll need.

GraphedGraphed

Still Building Reports Manually?

Watch how growth teams are getting answers in seconds — not days.

Watch Graphed demo video

What Exactly is the Power BI XMLA Endpoint?

Before we jump into the "how," let's quickly cover the "what" and "why." XMLA stands for XML for Analysis. It's a protocol that applications use to communicate with data sources, specifically online analytical processing (OLAP) data sources like SQL Server Analysis Services and, in this case, the Power BI engine that powers your datasets.

By default, you interact with your Power BI datasets through the Power BI Desktop application or the Power BI service online. When you enable the XMLA endpoint, you are essentially opening a direct API-like connection to the Analysis Services engine running a Power BI dataset. This lets you use much more powerful, specialized tools to work with your data models.

GraphedGraphed

Still Building Reports Manually?

Watch how growth teams are getting answers in seconds — not days.

Watch Graphed demo video

So, Why Should You Care?

Enabling the XMLA endpoint is a game-changer for serious Power BI developers and data teams. It allows you to:

  • Use Advanced Tools: Connect to your datasets with tools like SQL Server Management Studio (SSMS), Tabular Editor, and DAX Studio. These tools offer capabilities that go far beyond what's available in Power BI Desktop alone, such as advanced scripting, metadata modification, and performance tuning.
  • Improve Data Model Management: With a tool like Tabular Editor, you can perform batch edits, manage complex object-level security, create calculation groups, and implement best-practice data modeling techniques much more efficiently.
  • Automate and Deploy (CI/CD): The XMLA endpoint is the foundation for implementing DevOps and continuous integration/continuous deployment (CI/CD) pipelines for your Power BI assets. You can programmatically deploy model changes instead of manually publishing a .pbix file.
  • Monitor Performance: Use SSMS to run profiler traces on your dataset to see exactly how your DAX queries are performing and identify bottlenecks.
  • Manage Dataset Refresh Programmatically: You can trigger a full or granular refresh of specific tables using scripts, offering more control than the scheduled refresh options in the Power BI service.

In short, it bridges the gap between self-service BI and enterprise BI, giving you full control over the lifecycle of your data models.

Prerequisites: What You Need First

You can't just flip a switch on any Power BI account. Accessing the XMLA endpoint is a premium feature, so before you begin, make sure you have the following in place:

  • A Premium License: The workspace you want to connect to must be hosted on a Power BI Premium Per User (PPU), Power BI Premium Per Capacity, or Microsoft Fabric capacity. Standard Power BI Pro licenses do not support this feature.
  • Admin Rights: To enable the endpoint setting for the entire capacity, you need to be a Capacity Admin. If you aren't, you will need to ask your Power BI administrator to perform these steps.
  • Workspace Permissions: To get the connection string for a specific workspace and connect to its datasets, you'll need to be an Admin, Member, or Contributor in that workspace.
  • Up-to-Date Tools: Ensure you have a recent version of the tools you plan to use, like SQL Server Management Studio (SSMS) or Tabular Editor. Older versions might not support the necessary Azure Active Directory authentication protocols.

Step 1: How to Enable the XMLA Endpoint Setting

The first task is enabling the feature at the capacity level. This is done inside the Power BI Admin Portal and, once again, requires you to have admin permissions for the capacity.

Here’s how to do it step-by-step:

  1. Navigate to the Admin Portal: Log in to the Power BI service (app.powerbi.com), click the gear icon (⚙️) in the top-right corner, and select "Admin portal."
  2. Go to Capacity Settings: In the Admin portal menu on the left, find and click on "Capacity settings."
  3. Select Your Premium Capacity: You should see a list of available capacities. Click on the name of the Premium or Fabric capacity to which your workspaces are assigned.
  4. Expand 'Workloads': On the capacity management screen, scroll down until you see a dropdown section called "Workloads." Click to expand it.
  5. Enable the XMLA Endpoint: Under the workload settings, you will find the "XMLA Endpoint" option. The default setting is typically "Off." You need to change this by selecting one of the two active options:
GraphedGraphed

Still Building Reports Manually?

Watch how growth teams are getting answers in seconds — not days.

Watch Graphed demo video

Understanding Your Options: Read Only vs. Read Write

You have two choices for enabling the endpoint:

  • Read Only: This setting allows client applications and tools to connect to and query the data from your Power BI datasets. You can run DAX queries, run profiler traces, and analyze the model structure, but you cannot make any changes. This is a safer option if you only want to grant read access to external reporting tools.
  • Read Write: This is the most powerful option. It gives client applications full read/write access. This means you can create/modify/delete objects within the data model, deploy completely new models, execute refresh commands via scripting, and merge changes from different developers. Choose this option if your goal is advanced data modeling and management.

Select the appropriate setting based on your needs.

  1. Apply the Changes: After selecting "Read Only" or "Read Write," scroll to the bottom of the page and click the "Apply" button. The change may take a few minutes to propagate across the service.
**Important Note:** This setting applies to the *entire capacity*. Every workspace assigned to this capacity will now have its XMLA endpoint enabled with the permission level you selected.

Step 2: How to Find Your Workspace Connection URL

Once you've enabled the setting at the capacity level, every workspace has its own unique connection URL. Think of this URL as the "server name" you'll use to connect.

Here’s how to find it for a specific workspace:

  1. Go to Your Workspace: Navigate to the Power BI workspace that is part of the Premium or Fabric capacity you just configured.
  2. Open Workspace Settings: Next to the workspace name, click the ellipsis (...) and select "Workspace settings."
  3. Go to the 'Premium' Tab: In the settings panel that appears on the right, click on the "Premium" tab at the top.
  4. Copy the Workspace Connection: You will now see the "Workspace Connection" URL at the bottom of this panel. This is what you need. Click the copy icon to copy the full URL to your clipboard.

The URL typically looks something like this:

powerbi://api.powerbi.com/v1.0/myorg/Your-Workspace-Name

If you don't see the "Premium" tab in your workspace settings, it's a sign that the workspace is not currently assigned to a Premium, PPU, or Fabric capacity, and you cannot get its XMLA endpoint address.

GraphedGraphed

Still Building Reports Manually?

Watch how growth teams are getting answers in seconds — not days.

Watch Graphed demo video

Example: Connecting to Your Workspace with SSMS

Let's use the URL you just copied to connect with a popular tool, SQL Server Management Studio (SSMS).

  1. Open SSMS: Launch SQL Server Management Studio.
  2. Open the Connection Dialog: The "Connect to Server" window should appear. If not, click "Connect" > "Analysis Services..." from the Object Explorer.
  3. Enter Connection Details:
  • Server type: Make sure this is set to Analysis Services.
  • Server name: Paste the Workspace Connection URL you copied from Power BI.
  • Authentication: This is the most critical part. Change the authentication method to Azure Active Directory - Universal with MFA. This method properly handles the required modern authentication.
  • User name: Enter the email address you use to log in to Power BI.
  1. Connect: Click the "Connect" button. You may be prompted to sign in with your Microsoft account credentials. Once authenticated, you will see your Power BI workspace listed as a server, and the datasets within it will appear as if they were Analysis Services databases. You can now browse the data models, script measures, or run DAX queries!

Final Thoughts

Enabling the Power BI XMLA endpoint is a crucial step for elevating your Power BI development from simple report-building to a robust, scalable, and manageable enterprise data analytics platform. By allowing professional tools like SSMS and Tabular Editor to connect directly to your datasets, you unlock a new level of control and efficiency for managing your most critical data assets.

While diving into XMLA endpoints is powerful for developers managing complex data models, sometimes you just need to connect your data and get answers without the technical overhead. For marketers and sales teams who need real-time dashboards from sources like Google Analytics, Shopify, or Salesforce, we created Graphed. It allows you to connect your most common apps and use simple, plain English to build reports and ask questions directly, getting you straight to the insights you need to grow your business.

Related Articles

How to Enable Data Analysis in Excel

Enable Excel's hidden data analysis tools with our step-by-step guide. Uncover trends, make forecasts, and turn raw numbers into actionable insights today!