> For the complete documentation index, see [llms.txt](https://v2.dataos.info/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://v2.dataos.info/concepts/resources/vulcan/activation/bi/powerbi.md).

# Power BI

Power BI connects to your semantic layer over the MySQL wire protocol. Every dimension, measure, and join already defined in `semantics/` shows up in the Fields pane, ready for visuals. You don't write Power Query, you don't redefine metrics per report.

***

## Prerequisites

Set these up once on the machine running Power BI Desktop.

### 1. Install MySQL Connector ODBC 8.0.23

Download and install the connector. Power BI talks to your DataOS endpoint through this driver.

```
https://downloads.mysql.com/archives/get/p/10/file/mysql-connector-odbc-8.0.23-winx64.msi
```

{% hint style="info" %}
Version 8.0.23 specifically. If a newer ODBC connector is already installed, or if you see *"There weren't enough elements in the enumeration to complete the operation"*, uninstall it and reinstall 8.0.23.
{% endhint %}

### 2. Allow third-party connectors in Power BI

Open Power BI Desktop and go to **File → Options and settings → Options → Security**. Under **Data Extensions**, select *"Allow any extension to load without validation or warning"*. Click OK and restart Power BI Desktop.

### 3. Install the DataOS Power BI connector

Download [`DataOS.mez`](https://github.com/moderndatacompany/dataos/blob/main/documentation/consume/.gitbook/assets/files/DataOS.mez) and place it in your Power BI custom connectors folder:

```
[My Documents]\Microsoft Power BI Desktop\Custom Connectors\
```

If the folder doesn't exist, create it.

### 4. Set the cleartext environment variable

```
ENABLE_CLEARTEXT_PLUGIN=1
```

The MySQL wire protocol uses cleartext authentication (over TLS); this variable tells the ODBC driver to allow it.

***

## Connecting to your semantic layer

### Open Connect from the product tab

Select your tenant, go to the **Products** tab, and click **Connect** or **Power BI**.

![Step 1](/files/HLey7Ef7DBzQuDDfxbue)

### Download the `.pbip` file

Click Download. The `.pbip` package is pre-configured with your tenant's endpoint and semantic model references.

![Step 2](/files/TTvxKCEk2ec6LOFNcKT5)

### Extract the archive

The download is a ZIP. Extract it; you'll see three files. The one you open is the `.pbip` file.

![Step 3](/files/JyYg7zArcaSowEgruwd3)

### Open the `.pbip` file

Double-click it. Power BI Desktop opens it automatically. If you get a connectivity or security dialog, click OK.

![Step 4](/files/66UKS1vfbbCfrs7oNU4F)

### Enter credentials

When prompted, enter your tenant **username** and **API key**. Same credentials you use to log in to the product.

![Step 5](/files/Y7bnCDq52qHdzoRClE4K)

### Your semantic models are loaded

Once authenticated, every available semantic model, with its dimensions and measures, shows up in the Fields pane on the right.

![Step 6](/files/ewYkqR89GAs0FjXIvdVR)

***

You're connected. Build reports, dashboards, and visuals directly on top of the semantic layer.

## Troubleshooting

<details>

<summary>Common issues</summary>

**"There weren't enough elements in the enumeration to complete the operation"**

The wrong ODBC connector version is loaded. Uninstall any other MySQL ODBC version and reinstall 8.0.23 (link in Prerequisites).

**The DataOS connector doesn't appear in Power BI**

Two things to check: the `.mez` file is in `[My Documents]\Microsoft Power BI Desktop\Custom Connectors\`, and **Allow any extension to load** is enabled under **File → Options → Security → Data Extensions**. Restart Power BI after either change.

**Authentication fails with "cleartext password not allowed"**

`ENABLE_CLEARTEXT_PLUGIN=1` isn't set in the system environment. Add it, then restart Power BI Desktop so the new variable is picked up.

**Connection times out**

Check that the tenant URL in the `.pbip` file is reachable from your machine (corporate VPN or firewall rules can block it). Re-download the `.pbip` if you switched tenants.

</details>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://v2.dataos.info/concepts/resources/vulcan/activation/bi/powerbi.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
