Publishing Power BI Reports with the dbt Semantic Layer
Welcome back to our two-part guide on connecting Power BI to the dbt Semantic Layer. In Part 1, we demonstrated how to connect Power BI Desktop to dbt Cloud and build a simple dashboard using semantic metrics. That was just the beginning.
In this article, we continue the journey by publishing that report to Power BI Service and configuring the On-premises Data Gateway to ensure the connection to the dbt Semantic Layer remains alive. This is a crucial step for moving from a personal development workflow to a shared, production-ready BI environment.
In this article:
- Why Power BI Service Needs a Gateway
- Step 1: Publish the Report to Power BI Service
- Step 2: Install the On-Premises Data Gateway
- Step 3: Configure Custom Connector Support
- Step 4: Configure the Gateway in Power BI Service
- Step 5: Validate the Connection
- Summary of the Workflow
- Best Practices
- Conclusion
- Additional Resources
- Watch the Video
- Meet the Speaker
Why Power BI Service Needs a Gateway
When you publish a Power BI Desktop report connected to the dbt Semantic Layer, the connection details don’t automatically carry over to Power BI Service. Instead, you’ll likely see an error message such as “The model cannot be loaded”. This happens because:
- Power BI Service cannot directly use the desktop connection credentials.
- A secure, always-online connection is required to keep queries alive.
The solution is to use the On-premises Data Gateway. This component securely bridges Power BI Service with your data sources—whether on-premises or cloud-based—so your dashboards can refresh seamlessly.
Step 1: Publish the Report to Power BI Service
We’ll start where we left off in Part 1, with a working report in Power BI Desktop named DEMO – dbt Semantic Layer.
- Open the report in Power BI Desktop.
- Click the Publish button.
- Choose a workspace (for this demo, we’ll use “My workspace”).
- Open Power BI Service and locate the published report.
At this stage, you’ll notice that the report cannot load data. This is expected and is exactly why we need to configure the gateway.
Step 2: Install the On-Premises Data Gateway
To enable the connection, download and install the On-premises Data Gateway in Standard mode. The dbt Semantic Layer connector is not supported in Personal mode at this time.
Download link: Get the Power BI Gateway (Microsoft).
During installation:
- Choose Standard mode.
- Follow the guided steps and complete the setup.
- Launch the gateway after installation.
- Sign in with your Power BI Service account to register the gateway.
At this point, your gateway should show as online and ready to use.
Step 3: Configure Custom Connector Support
The dbt Semantic Layer connection is enabled through a custom Power BI connector. This requires a manual file copy:
- Locate the connector file on your machine. By default, it is stored in:
C:\Users\<YourUsername>\Documents\Power BI Desktop\Custom Connectors\dbtSemanticLayer.pqx - Copy this file into the gateway’s custom connector directory:
C:\Windows\ServiceProfiles\PBIEgwService\Documents\Power BI Desktop\Custom Connectors - Restart the gateway if needed. The connector should now be detected under the Connectors section of the gateway.
This step is critical—without copying the connector, the gateway will not recognize the dbt Semantic Layer.
Step 4: Configure the Gateway in Power BI Service
With the gateway online and the custom connector installed, it’s time to configure the connection inside Power BI Service:
- In Power BI Service, navigate to Settings → Manage Connections and Gateways.
- Select your gateway from the list of available gateways.
- Go to the gateway Settings and allow the use of Custom Connectors. Without this option, the connection will fail.
- Next, go to Settings → Power BI Settings → Semantic Models.
- Locate your published report (DEMO – dbt Semantic Layer).
- Under Gateway and Cloud Connections, add your connector to the gateway and provide the required host, environment ID, and service token values.
Once these steps are complete, your Power BI Service report should start loading live data from the dbt Semantic Layer.
Step 5: Validate the Connection
Open your report in Power BI Service. This time, instead of the “model cannot be loaded” error, you should see the data loading and the dashboard visuals appearing. This confirms that the gateway is successfully maintaining the connection to the dbt Semantic Layer.
Summary of the Workflow
Let’s recap what we’ve achieved across both parts of this series:
- Part 1: Connected Power BI Desktop to the dbt Semantic Layer and built a working dashboard using semantic metrics.
- Part 2: Published the report to Power BI Service, configured the On-premises Data Gateway in Standard mode, enabled custom connectors, and restored connectivity to the dbt Semantic Layer.
The end result? A Power BI dashboard that queries dbt metrics live, end-to-end, even in the Service environment.
Best Practices
While the demo used a local laptop, in production environments the On-premises Data Gateway should be installed on a reliable, always-on machine, such as:
- An on-premises server.
- A cloud-hosted virtual machine (e.g., Azure VM, Amazon EC2).
This ensures the connection remains stable, and report refreshes happen as scheduled without interruption.
Conclusion
Connecting Power BI Service to the dbt Semantic Layer is a powerful way to extend governed, consistent metrics to your entire organization. By configuring the On-premises Data Gateway and enabling custom connectors, you ensure that your published reports continue to deliver real-time insights based on dbt’s semantic definitions.
If this guide was helpful, make sure to check out Part 1 if you haven’t already, and stay tuned for more deep dives into the dbt platform and BI integrations.
Additional Resources
Watch the Video
Meet the Speaker

Dmytro Polishchuk
Senior BI Consultant
Dmytro Polishchuk has 7 years of experience in business intelligence and works as a Senior BI Consultant for Scalefree. Dmytro is a proven Data Vault 2.0 expert and has excellent knowledge of various (cloud) architectures, data modeling, and the implementation of automation frameworks. Dmytro excels in team integration and structured project work. Dmytro has a bachelor’s degree in Finance and Financial Management.
