Power BI enterprisebeta
The Power BI integration enables you to query the dbt Semantic Layer directly, allowing you to build dashboards with trusted, live data in Power BI. It provides a live connection to the dbt Semantic Layer through Power BI Desktop or Power BI Service.
The dbt Semantic Layer Power BI integration is currently in private beta. To join the beta, contact your account representative.
Prerequisites
- Accept and sign the AI & beta addendum. Reach out to your account team to begin this process.
- You have configured the dbt Semantic Layer
- You are on a supported dbt Cloud release track or on dbt v1.6 or higher.
- You installed Power BI Desktop or Power BI On-premises Data Gateway.
- Power BI Service doesn't natively support custom connectors. To use the connector in Power BI Service, you must install and configure it on an On-premises Data Gateway.
- You need your dbt Cloud host, Environment ID and service token to log in. This account should be set up with the dbt Semantic Layer.
- You must have a dbt Cloud Team or Enterprise account. Suitable for both Multi-tenant and Single-tenant deployment.
- Single-tenant accounts should contact their account representative for necessary setup and enablement.
📹 Learn about the dbt Semantic Layer with on-demand video courses!
Explore our dbt Semantic Layer on-demand course to learn how to define and query metrics in your dbt project.
Additionally, dive into mini-courses for querying the dbt Semantic Layer in your favorite tools: Tableau, Excel, Hex, and Mode.
Install the connector
The dbt Semantic Layer Power BI connector consists of a custom .pqx
Power BI connector and an ODBC driver. Install both using our Windows installer by following these steps:
1. Join the private beta
- Contact your dbt Labs account representative to request access to the
.msi
installer.
2. Download and install the .msi
installer
- Run the installer and follow the on-screen instructions.
- This will install the ODBC driver and the connector onto your Power BI Desktop.
3. Verify installation
- Open ODBC Data Sources (64-bit) file on your computer.
- Navigate to System DSN and verify that the
dbt Labs ODBC DSN
is registered. - Navigate to Drivers and verify that the
dbt Labs ODBC Driver
is installed. - Open Power BI Desktop, navigate to Settings, then Data Source Settings. Verify that the
dbt Semantic Layer
connector is properly loaded.
To allow published reports in Power BI Service to use the connector. An IT admin in your organization needs to install and configure the connector on an On-premises Data Gateway.
For IT admins
This section is for IT admins trying to install the ODBC driver and connector into an On-premises Data Gateway.
To allow published reports to use the connector in Power BI Service, an IT Admin must install and configure the connector.
1. Install the ODBC driver and connector into an On-premises Data Gateway
- Run the same
.msi
installer used for Power BI Desktop. - Install it on the machine where your gateway is hosted.
2. Copy connector file to Gateway directory
- Locate that
.pqx
file:C:\Users\<YourUser>\Documents\Power BI Desktop\Custom Connectors\dbtSemanticLayer.pqx
. - Copy it to the Power BI On-premises Data Gateway custom connectors directory:
C:\Windows\ServiceProfiles\PBIEgwService\Documents\Power BI Desktop\Custom Connectors
.
3. Verify installation
- Following verification steps from the install the connector section.
4. Enable connector in Power BI Enterprise Gateway
- Open the
EnterpriseGatewayConfigurator.exe
. - Navigate to Connectors.
- Verify that the
dbt Semantic Layer
connector is installed and active.
For more information on how to set up custom connectors in the Power BI On-premises Data Gateway, refer to Power BI’s official documentation.
Configure the connector
After installing the connector, you’ll have to configure your project credentials to connect to the Semantic Layer from a report.
To configure project credentials in Power BI Desktop:
- Create a blank report.
- On the top-left, click on Get data.
- Search for dbt Semantic Layer, then click Connect.
- Fill in your connection details. You can find your Host and Environment ID under the Semantic Layer configuration for your dbt Cloud project.
tip
Make sure you select DirectQuery under Data Connectivity mode since the Semantic Layer connector does not support Import mode. See Considerations for more details.
- Click OK to proceed.
- On the next screen, paste your service token and then click Connect.
- You should see a side pane with a few "virtual" tables.
ALL
represents all of your defined semantic layer objects. The other tables represent each of your saved queries. Select the one you want to load into your dashboard. Then click Load.
Now that you've configured the connector, you can configure published reports in the next section to use the connector.
Configure published reports
After publishing a report and the first time you hit Publish on a given report, configure Power BI Service to use your organization’s On-premises Data Gateway to access data from the dbt Semantic Layer:
- On the top right, click on Settings > Power BI settings.
- Navigate to the Semantic models tab and select your report on the sidebar on the left.
- Under Gateway and cloud connections, select the On-premises Data Gateway where your IT admin has installed the dbt Semantic Layer connector.
- If the Status is Not configured correctly, you’ll have to configure it.
- Click on the arrow under Actions and then, click on Manually add to gateway.
- Provide a name for your connection and enter your connection details.
- Set the connection as Encrypted (Required). Failing to do so will result in the Semantic Layer servers rejecting the connection.
- Click Create. This will run a connection test (unless you choose to skip it). If the connection succeeds, the connection will be saved.
You can now go back to your published report on Power BI Service to assert data loads as expected.
Use the connector
This section describes how to use the dbt Semantic Layer connector in Power BI.
The dbt Semantic Layer connector creates:
- A virtual table for each saved query.
- A
METRICS.ALL
table containing all metrics, and dimensions and entities appear as regular dimension columns.
These tables do not actually map to an underlying table in your data warehouse. Instead, Power BI sends queries to these tables and (before actually executing on the warehouse) the Semantic Layer servers:
- Parse the SQL.
- Extract all the queried columns, group bys and filters.
- Generates SQL to query your existing tables.
- Returns data back to Power BI, which doesn’t know any of this happened.
This allows for very flexible analytics workflows, like drag and drop metrics and slice by dimensions and entities — the Semantic Layer will generate the appropriate SQL to actually query your data source for you.