

Introduction
The integration of dbt Cloud’s Semantic Layer with Power BI creates a unified environment were trusted business metrics flow directly into interactive dashboards. Instead of redefining logic in every report, dbt centralizes models, sources, and metrics, then exposes them through a connector that Power BI can consume in real time. This approach reduces duplication, improves governance, and enables teams to focus on insight generation rather than manual query building. With dbt handling the data transformation layer and Power BI handling the visualization layer, organizations unlock a modern analytics stack that is both scalable and business friendly.

Set Up dbt Cloud and SnowflakeStep 1: Create a dbt Cloud Account
Step 2: Create a Project
Step 3: Configure Development Environment

Step 4: Add New Connection (Snowflake) & Test It

In this project, Snowflake was connected using a public dataset: Database: SNOWFLAKE_SAMPLE_DATA Schema: TPCH_SF1 Table: CUSTOMER — this table was used throughout the project for all demonstrations.

Step 5: Set Up a Repository (Git Integration) dbt Cloud needs a Git repo to track your project files:


Step 6: Initialize the dbt Project


Before building models and metrics, we first load customer data from the Snowflake Sample Data into our own Snowflake environment under a custom database and schema. With the data in place, we define models, YAML sources, and metrics—laying the foundation for a centralized dbt Semantic Layer that powers consistent analytics across BI tools.
Build Models and Metrics
Step 7: Create Models and Define Sources & Metrics In the File Explorer, under models/, create two folders:






Step 8: Save and Commit Changes Click Commit and sync, add a commit message like "added source models and customer metric", then confirm to push your changes.
Step 9: Run and Validate Your Models in dbt Cloud
Step 10: Create a Production Job to Build Models

o Monitor logs in real-time to track each step (e.g., dbt deps, dbt run) and review the outcome to address any failures. Enable the dbt Semantic Layer
Step 11: Set up dbt Semantic Layer
Select environment


Step 12: Configure Credentials & Create Tokens for dbt Semantic Layer

Step 13: Verify Semantic Layer Configuration

Power BI Desktop Integration
The Power BI Desktop integration is currently in preview as part of the same dbt Cloud update. It allows users to connect to the dbt Semantic Layer through GraphQL endpoints, making it possible to build reports using centrally managed metrics. While still under development, this integration supports better collaboration and governance by ensuring that metrics used in Power BI reports align with those in other BI tools. It’s a step forward in unifying analytics workflows across platforms.
Step 14: Install the dbt Power BI Connector (on your local machine)
Step 15: Use the Connector in Power BI Desktop



You're now set to build reports using dbt-defined metrics and dimensions directly in Power BI.

In Power BI, open the Data and Visualization panes on the left. Then, from the Fields panel, simply drag and drop metrics like total_customers or average_account_balance onto the report canvas. Power BI will automatically generate visualizations—such as bar or line charts—based on the selected metric.

Dragging “Customer: Market Segment” to the axis and “Total Account Balance” to values generates a visual chart in Power BI, clearly showing how account balances vary by market segment. Conclusion: Bringing together dbt Cloud’s Semantic Layer and Power BI transforms the analytics workflow into a streamlined, governed, and collaborative process. Teams no longer struggle with inconsistent definitions or duplicated SQL logic—every metric in Power BI is backed by dbt’s centralized source of truth. The result is faster reporting cycles, more reliable insights, and a data culture where technical and non-technical users operate with shared confidence. This integration marks a significant step toward building analytics that are not only powerful but also scalable and intuitive and genuinely usable by everyone in the organization.