Best BI tools for dbt in 2026: 12 options compared on dbt Core support, the Semantic Layer, and metric duplication
Max Musing
Max MusingFounder and CEO of Basedash
· June 13, 2026

Max Musing
Max MusingFounder and CEO of Basedash
· June 13, 2026

The best BI tools for dbt in 2026 are Lightdash and Omni if you want the BI layer to read your dbt project directly (both work with dbt Core), and Steep, Hex, or Tableau if you are on the dbt platform and want every metric defined once in the dbt Semantic Layer. Sigma and ThoughtSpot sync dbt descriptions and models into their own layers, while Metabase and Basedash query the tables dbt builds. The deciding questions are whether you run dbt Core or the dbt platform, where your metrics live today, and whether people who don’t write SQL need to explore the result. Every price and plan below was checked on the vendor’s official page on October 19, 2026.
This guide is for analytics engineers and data teams who run dbt and are choosing what sits on top of it. It covers the four ways BI tools connect to dbt, what changed in the dbt ecosystem this year, a comparison table, a fact card for each tool, and which tool fits which stack.
Vendors use “dbt integration” for very different things, and the difference decides whether you maintain one metric definition or two. When you evaluate a tool, find out which of these four patterns it uses.
1. Read the dbt project directly. The BI tool connects to your dbt repo, compiles or reads manifest.json, and turns models into explorable tables. Metrics and dimensions are defined in dbt YAML. Lightdash and Omni work this way, and both work with dbt Core. The cost is that the BI experience depends on a maintained dbt project.
2. Query the dbt Semantic Layer over its API. The BI tool sends a request such as “revenue by month for the last year” to the dbt Semantic Layer through its JDBC, ADBC, or GraphQL API, and MetricFlow generates the SQL. The metric logic never leaves dbt. Steep, Hex, Tableau, Power BI, Mode, and Sigma (in preview) are among the integrations dbt lists. The Semantic Layer APIs require a paid dbt platform plan.
3. Sync dbt metadata, then define metrics in the BI tool. The tool imports descriptions, tests, keys, and sometimes models from dbt artifacts, but metrics are built in its own layer. Sigma, ThoughtSpot, and Metabase (through the community dbt-metabase tool) fall here. Documentation stays consistent, but metric logic can drift because it lives in two places.
4. Query the tables dbt built. The tool connects to the warehouse and reads the models dbt materialized. Looker and Power BI add their own modeling language (LookML, DAX) on top; Basedash reads warehouse descriptions as AI context and adds its own models. If your canonical metrics are already pre-computed in wide mart tables, this is not duplication: the metric still lives in dbt and the BI tool reads a column.
Four changes affect BI tool choice this year:
We checked each tool against the questions dbt-first teams ask when they pick a BI layer:
| Tool | dbt integration | Works with dbt Core | dbt Semantic Layer | Writes back to dbt | Pricing (Oct 2026) | Deployment | Row-level security | SAML SSO / SCIM | AI and MCP |
|---|---|---|---|---|---|---|---|---|---|
| Lightdash | Reads the dbt project | Yes | Reads MetricFlow from the manifest (beta) | Pull requests | Open source free; Cloud Pro $3,000/mo, unlimited users | Cloud or self-hosted | User attributes | Enterprise / Enterprise | AI agents, MCP server |
| Omni | Reads the dbt project from Git | Yes | One-way import of definitions | Pull requests, descriptions, exposures | Quote only | Cloud | access_filters |
Yes / Yes | Omni Agent, MCP server |
| Steep | Queries the Semantic Layer API | No | Uses dbt for definitions and query generation | No | Pro $15/seat/mo (free up to 3 seats); Business $25 | Cloud | Enterprise | Business+ / Enterprise | Steep Agent, MCP server |
| Hex | dbt metadata sync; MetricFlow import | No | Legacy API cells; MetricFlow import | No | Professional $36, Team $75 per editor/mo | Cloud | Embeds and warehouse OAuth | OIDC only, no SAML / Enterprise | Threads, Hex agent, MCP server |
| Sigma | Metadata and test sync | Yes (beta) | API, in preview | No | Quote only | Cloud | User attributes, teams | Yes / Yes | Sigma Assistant, MCP server |
| Tableau | Semantic Layer connector | No | Live connector | No | Creator $75, Explorer $42, Viewer $15 per user/mo (annual) | Cloud or Server | User filters, data policies | Yes / Cloud | Tableau Agent, Pulse |
| Power BI | Semantic Layer connector (preview) | No | DirectQuery connector | No | Pro $14, PPU $24 per user/mo (annual) | Cloud | DAX roles (Viewers only) | Entra ID / via Entra | Copilot (F2+ or P1+) |
| ThoughtSpot | Reads manifest and catalog, creates models | Yes (zip upload) | Imports definitions on Snowflake | No | Essentials from $25/user/mo; Pro $50 | Cloud or self-managed | Group rules | Pro+ / Yes | Spotter, MCP add-on |
| Looker | Queries tables; dbt platform CI trigger | Tables only | Not supported | No | Quote only | Cloud | access_filter |
Yes / Preview | Gemini in Looker |
| Metabase | Community dbt-metabase sync |
Yes (manifest) | Not supported | Exposures | Open source free; Starter $100/mo; Pro $575/mo | Cloud or self-hosted | Pro and up | Pro and up / Pro and up | Metabot, MCP server |
| Cube | Imports dbt models into cubes | Yes (manifest) | Alternative layer | No | Free; Starter $40, Premium $80 per developer/mo | Cloud or open source | Access policies | Enterprise / Enterprise | Analytics chat, MCP server |
| Basedash | Queries dbt tables; reads persisted descriptions | Tables only | Not supported | No | Startup $1,000/mo + AI usage, 25 users | Cloud; self-hosted on Enterprise | Postgres only | Enterprise / Enterprise | AI data analyst, MCP server |
“Works with dbt Core” means the dbt integration itself runs without a paid dbt platform plan. Any of these tools can query the tables a dbt Core project builds.
Best for: dbt-first teams that want BI defined as code in the same repo as their models, including teams on dbt Core.
Lightdash is the most directly dbt-native option. Its dbt integration reads a connected dbt project and builds the semantic layer from it: columns become dimensions, descriptions show up as hover text, and metrics live in YAML next to the models. The CLI compiles the project locally and pushes manifest.json. A write-back feature lets people develop models and metrics in Lightdash and open a pull request against the dbt project on GitHub, GitLab, or Bitbucket Cloud.
Fact card: Lightdash
sql_filter and related model properties.For a closer look, see Basedash vs Lightdash and Lightdash alternatives.
Best for: teams that want a governed BI model synced both ways with dbt, plus a spreadsheet-style and point-and-click experience for business users.
Omni connects to your dbt Git repository, compiles the project into a manifest, and reads it. It supports dbt Core and the dbt platform. Omni is the strongest at writing back: analysts can promote an Omni query into a dbt model, push field descriptions into schema.yml, and push dashboards to dbt as exposures, all through a pull request. Its dbt Semantic Layer integration is a one-way import that maps MetricFlow semantic models and metrics into the Omni model; cumulative and conversion metrics are not supported.
Fact card: Omni
access_filters based on user attributes.See Lightdash vs Omni for the two project-reading tools side by side.
Best for: teams on the dbt platform who have adopted MetricFlow and want a metrics-first front end where dbt stays the only metric engine.
Steep is built around metrics rather than tables. With its dbt integration, Steep does not use its own semantic layer; it uses the dbt platform for definitions, query generation, and execution, and reads config.meta properties for categories, owners, and visibility. That makes it one of the few tools where defining a metric once in dbt is the only option, not just a recommended setup.
Fact card: Steep
Best for: analysts and data scientists who work in SQL and Python notebooks and want dbt metadata and metrics inside them.
Hex has two dbt integrations: a metadata integration that brings dbt metadata into Hex through the dbt Discovery API, and a Semantic Layer integration that Hex now labels legacy. Hex says neither works with dbt Core, because both rely on dbt platform features. The newer path imports dbt MetricFlow files into Hex semantic models, which Threads uses to answer natural language questions.
Fact card: Hex
Best for: Snowflake or Databricks teams whose business users think in spreadsheets and should see dbt documentation and test results where they work.
Sigma’s dbt integration shows dbt table and column descriptions, dbt test results, and last run times inside Sigma. It works with the dbt platform, or with dbt Core (beta) when you upload manifest.json and run_results.json from your runs. Separately, Sigma can query the dbt Semantic Layer through its JDBC API, which requires the dbt platform and is listed as a preview by dbt.
Fact card: Sigma
Best for: existing Tableau shops on the dbt platform that want governed dbt metrics in Tableau without rebuilding them as calculated fields.
The dbt Semantic Layer connector for Tableau works in Tableau Desktop 2021.1 and later, Tableau Server, and Tableau Cloud. It requires live connections; extracts, custom SQL, and cross-database joins are not supported through the connector. Outside the connector, Tableau reads dbt-built tables like any other warehouse source.
Fact card: Tableau
Best for: Microsoft-centric companies that already license Power BI and want to try dbt metrics in reports.
The dbt Semantic Layer connector for Power BI is in preview as of October 2026. It runs in Power BI Desktop and reaches the Power BI service only through an on-premises data gateway, because the service doesn’t natively support custom connectors. It is DirectQuery only, with no Import mode, custom DAX, or joins. dbt says production readiness depends on Microsoft’s participation in Apache Ossie. Most dbt teams on Power BI today point it at dbt-built tables and define measures in DAX.
Fact card: Power BI
Best for: enterprises that want search and AI agents over dbt models, with ThoughtSpot models generated from dbt instead of built by hand.
ThoughtSpot’s dbt sync reads manifest.json and catalog.json and creates ThoughtSpot Models (formerly Worksheets) from your dbt models. It connects to the dbt platform with an API key, or to dbt Core through a zip upload of the artifacts. For Snowflake connections it also imports semantic definitions such as formulas, measures, dimensions, and metrics. The sync supports dbt 1.7 and earlier.
Fact card: ThoughtSpot
Best for: teams committed to LookML as their semantic layer, using dbt for transformation only.
Looker is not on dbt’s Semantic Layer integration list, and Looker’s docs don’t describe consuming dbt metrics. Metrics live in LookML on top of dbt-built tables, which is a deliberate two-layer setup that many teams run. The one documented dbt link is a continuous integration trigger (August 2026) that runs Looker CI suites when a dbt platform CI job finishes, so model changes that would break Explores surface before merge.
Fact card: Looker
access_filter with user attributes.Best for: teams that want low-cost or open source self-serve dashboards where dbt provides documentation, not the metric source.
Metabase has no native dbt integration. The community dbt-metabase tool reads a compiled manifest.json, so it works with dbt Core, and propagates model and column descriptions, table relationships, and semantic types into Metabase. It can also extract Metabase questions and dashboards back into dbt as exposures. Metrics themselves are usually rebuilt in Metabase.
Fact card: Metabase
dbt-metabase sync; no Semantic Layer support.Best for: teams that want one headless semantic layer serving several BI tools, notebooks, and AI agents at once.
Cube is a semantic layer first and a BI tool second. Its dbt integration clones and parses your dbt repo or accepts the manifest.json from your CI job, and turns dbt models into cubes. Metrics then live in Cube, which serves them through its APIs to downstream BI tools, notebooks, and agents. For dbt teams, Cube is an alternative to the dbt Semantic Layer rather than a consumer of it.
Fact card: Cube
Best for: dbt teams whose canonical metrics are materialized as mart tables, and who want people who don’t write SQL to ask questions in plain English.
Basedash connects to the warehouse where dbt builds your tables and queries those tables and views in place. Table and column descriptions in the warehouse, including the ones dbt writes there with persist_docs, are read automatically as AI context. Basedash does not parse dbt project files or query the dbt Semantic Layer API. Teams that need measures and segments on top of their marts define them in Basedash Models: SQL datasets with measures, segments, relationships, a default time column, version history, and admin verification, which every Basedash AI and the MCP server reuse. Models can be managed from CI through the REST API.
Fact card: Basedash
basedash.groups session variable; other sources use group-based data source access.A semantic layer is where metric definitions, dimensions, and relationships are centralized so every dashboard computes the same number the same way. The dbt Semantic Layer puts it in dbt. A BI tool’s built-in layer (LookML, an Omni model, Basedash Models) puts it in the BI tool.
| Consideration | dbt Semantic Layer (MetricFlow) | BI tool’s built-in layer |
|---|---|---|
| Where metrics are defined | dbt project, in YAML | The BI tool, in its own modeling language or UI |
| Reuse across tools | Any tool that connects to the APIs | Usually locked to that BI tool, unless it has an API or MCP server |
| dbt plan needed | dbt Starter ($100 per user per month, 5,000 queried metrics per month) or Enterprise (20,000) for the APIs (dbt pricing) | None |
| Who edits metrics | Analytics engineers through pull requests | Often analysts in the UI |
| Integration maturity | Varies: Tableau and Steep are established; Power BI and Sigma are in preview | Mature inside each tool |
| Risk of a second definition | Low, if every tool reads it | High, if dbt also defines the same metric |
If you want metrics defined once and used from a notebook, a spreadsheet, and a dashboard, the dbt Semantic Layer wins because the definition isn’t tied to one front end. If you use one BI tool and your analysts need to create metrics quickly without pull requests, a built-in layer is faster day to day, at the cost of a second place where logic lives. The trap is the accidental middle: defining metrics in dbt and then redefining them in the BI tool because the integration only synced descriptions. That is the metric drift problem behind most “why do these two dashboards disagree” tickets. Our semantic layer tools comparison covers standalone layers in more depth.
If you run dbt Core and want the BI tool to read your models directly: Lightdash and Omni both parse dbt Core projects, and both open pull requests back to dbt. ThoughtSpot and Sigma (beta) accept uploaded dbt Core artifacts. The Semantic Layer tools (Steep, Hex’s metadata integration, Tableau, Power BI) need a paid dbt platform plan.
If you are on the dbt platform with BigQuery or Snowflake and have adopted MetricFlow: Steep, Tableau, and Hex query or import MetricFlow definitions so metrics stay in dbt. Omni imports them into its own model. Check that the metric types you use are supported; Omni skips cumulative and conversion metrics, and Lightdash translates simple metrics only.
If an operations or finance team that doesn’t write SQL needs to explore dbt models: Omni and Sigma offer spreadsheet-style and point-and-click exploration on dbt models. Basedash, ThoughtSpot Spotter, and Metabase’s Metabot answer plain-English questions. Lightdash’s explore view and AI agents work well when the dbt YAML is well documented.
If your analytics engineer maintains every metric in dbt and the BI tool must not become a second source of truth: pick a pattern 1 or pattern 2 tool (Lightdash, Steep, or a Semantic Layer connector), or keep metrics materialized in mart tables and use a tool that reads columns without redefining them.
If you need SAML SSO and SCIM: Omni, Sigma, Tableau Cloud, Metabase Pro, Lightdash Enterprise, Steep Enterprise, Cube Enterprise, and Basedash Enterprise document both. Hex supports SSO through OIDC only.
If you want to embed dbt-modeled dashboards in your product: Lightdash (embedding add-on), Omni, Sigma, Metabase Pro, Cube Premium, and Basedash Enterprise offer signed embeds or React SDKs. For a fuller list, see our embedded analytics platform comparison.
If budget is the deciding factor: Lightdash and Metabase are free to self-host, Steep is free for up to 3 seats, and Hex and Cube have free plans. Lightdash Cloud Pro and Basedash Startup are flat monthly prices rather than per seat.
dbt-metabase), so you can see which reports break when a model changes.Lightdash and Omni read the dbt project itself: Lightdash builds its semantic layer from your dbt YAML, and Omni compiles your dbt repo into a manifest and syncs changes back through pull requests. Both support dbt Core and the dbt platform. ThoughtSpot generates its models from manifest.json and catalog.json for dbt 1.7 and earlier, and Sigma imports dbt descriptions and test results. Cube imports dbt models into its own semantic layer. Metabase relies on the community dbt-metabase tool, and Basedash reads the descriptions dbt persists to the warehouse.
dbt’s integration list as of October 2026 includes Tableau, Power BI, Hex, Mode, Sigma (preview), Steep, Omni, Dot, Push.ai, Klipfolio PowerMetrics, Google Sheets, and Excel, plus custom integrations over the JDBC, ADBC, and GraphQL APIs or the Python SDK. Steep and Tableau query metrics live. Power BI’s connector is in preview and is DirectQuery only. Omni and Hex import MetricFlow definitions into their own models rather than querying the API on every request. All of these need a paid dbt platform plan.
Partly. Since MetricFlow moved to the Apache 2.0 license in October 2025, dbt Core users can define metrics and query them locally from the command line. The hosted Semantic Layer APIs and the BI integrations built on them require a dbt Starter, Enterprise, or Enterprise+ plan; the free Developer plan has no API access. dbt Core teams that want governed metrics in a BI tool usually pick Lightdash, which reads MetricFlow definitions from the compiled manifest, or Omni, which imports them from the project.
Omni and Lightdash both read dbt Core projects on Snowflake. Omni adds a spreadsheet-style interface and an AI agent, and Lightdash works best when the dbt YAML has clear descriptions. Sigma suits spreadsheet-minded teams and accepts uploaded dbt Core artifacts in beta. ThoughtSpot imports dbt metrics on Snowflake connections and adds search and Spotter agents. Basedash fits when metrics are already materialized in Snowflake marts and the ops team wants to ask questions in plain English, though its row-level security does not cover Snowflake.
Choose one home for each metric and pick a tool that respects it. If metrics live in dbt, use a tool that reads the project (Lightdash, Omni) or queries the Semantic Layer (Steep, Tableau), or materialize metrics as columns in mart tables that any tool can read. If metrics live in the BI tool, keep dbt to transformation and document that rule. Duplication usually starts when an integration only syncs descriptions and analysts rebuild metrics in the BI layer out of habit.
Yes. dbt Labs relicensed MetricFlow under Apache 2.0 at Coalesce in October 2025, starting with version 0.209.0, as part of its support for the Open Semantic Interchange. That spec published version 0.1 in January 2026 and entered the Apache Incubator as Apache Ossie in July 2026. Open source MetricFlow lets any tool read and compile dbt metric definitions; Lightdash already reads them from the manifest without the dbt Semantic Layer API.
Sigma displays dbt table and column descriptions, dbt test results, and last run times next to the data, from the dbt platform or uploaded dbt Core artifacts. Lightdash shows dbt descriptions as hover text on every dimension and metric. Hex brings in dbt metadata through the dbt Discovery API on the dbt platform. Metabase gets descriptions through dbt-metabase. Basedash reads descriptions that dbt writes to the warehouse with persist_docs and uses them as AI context when answering questions.
Lightdash embeds dashboards built directly on dbt models through JWT-scoped iframes or a React SDK, priced per load as an add-on. Omni offers signed iframe embeds and an Embed SDK on top of its dbt-synced model. Cube serves dbt-derived metrics to embedded dashboards and chat on Premium. Sigma and Metabase Pro embed with JWT and React SDKs, and Basedash Enterprise embeds dashboards and its AI chat with a React SDK. Row-level security for multi-tenant embeds works differently in each, so test it with your tenant column.
Written by

Founder and CEO of Basedash
Max Musing is the founder and CEO of Basedash, an AI-native business intelligence platform designed to help teams explore analytics and build dashboards without writing SQL. His work focuses on applying large language models to structured data systems, improving query reliability, and building governed analytics workflows for production environments.
Basedash lets you build charts, dashboards, and reports in seconds using all your data.