Here is the verdict up front. For dbt teams whose metrics serve more than one consumer — internal dashboards plus an embedded product, an AI agent, or a second BI tool — Cube is our pick for 2026: it reads your dbt models, and its open-source core is a SQL-first, dbt-aware semantic layer with the agentic and embedded platform built on top. If internal dashboards are your only consumer and you want open source, Lightdash is the strongest choice; if you're standardized on Google Cloud, Looker fits.

Notice that the deciding variable isn't a feature checklist. It's a single question we call the second-consumer test: how many things consume your metric definitions? That question does more to sort this market than any side-by-side of dashboards and connectors, so this guide is organized around it — the test first, then the dbt/query-time split it depends on, then seven tools scored against both.

TL;DR

Run the second-consumer test: count what consumes your metric definitions. One consumer (internal dashboards) — a dashboard-first tool on top of dbt is enough; Lightdash is the best dbt-native, OSS pick. Two or more consumers (dashboards + embedded analytics, an AI agent, or another BI tool) — you need one governed layer serving all of them, and Cube is our pick: it reads your dbt models, its open-source Cube Core (Apache 2.0) is a SQL-first, dbt-aware semantic layer, and the agentic and embedded platform is built on top. The split stays clean either way: dbt for persistent transformation logic; the layer above for query-time governance, AI, and serving. Brex evaluated Cube against the dbt Semantic Layer and LookML and chose Cube.

How we picked: the second-consumer test

Our dbt-stack variant of the semantic-layer test we apply across these tool guides.

Most BI evaluations a dbt team runs eventually collapse into one variable, so we made it the ranking criterion. Count the consumers of your metric definitions — the distinct places a number like "net revenue" has to come out the same:

  • An internal BI tool or dashboard suite
  • A customer-facing, embedded analytics surface inside your product
  • An AI agent answering natural-language questions
  • A second BI tool, a spreadsheet crowd, or an API consumer

At one consumer, logic can live in one tool without much risk. Your dbt models feed a dashboard tool, definitions sit in that tool, and everyone looks at the same charts. Optimize for time-to-first-dashboard and authoring ergonomics.

At two or more consumers, every definition that lives inside a single tool forks. The dashboard says one number, the embedded report says another, the agent re-derives a third from raw tables. Now the thing to optimize is a governed, dbt-aware semantic layer that serves all consumers from one set of definitions — and the dashboard tool becomes just another client of it.

Mapped to situations:

  • Two or more consumers on top of dbt (BI + embedded + AI agents): Cube — one governed model, served everywhere, with the agentic and embedded layers built in.
  • Dashboards only, dbt-native, OSS preferred: Lightdash.
  • Dashboards only, early-stage, speed and low cost: Metabase.
  • Standardized on Google Cloud with a large modeling effort: Looker, accepting the LookML/dbt overlap.
  • Analyst-led, exploratory, notebook-heavy work: Hex — paired with a semantic layer for governed production metrics.
  • Consumers who live in spreadsheets (finance, ops): Sigma.
  • SQL-first analyst reporting: Mode.

Within that frame, we scored each tool on six concrete criteria:

  1. Native dbt integration — does it read your dbt models (or at least your warehouse cleanly), so you don't re-model what dbt defines?
  2. A semantic layer that complements dbt — does it add query-time metrics and governance, or does it duplicate dbt's logic in a second place that drifts?
  3. Query-time governance — consistent metric definitions, RBAC, and row-level security applied at read time, per user.
  4. AI grounded in the model — can an AI agent reach your governed metrics (ideally over MCP), not raw tables, so answers are consistent and explainable?
  5. Embedded readiness — if you ship analytics to customers, is it multi-tenant by construction, with per-tenant performance and isolation?
  6. Self-serve and time-to-value — can business users explore safely, and how fast do you get to a first governed dashboard?

Weight them by your consumer count: at one consumer, criterion 6 dominates; from two consumers up, criteria 2 through 5 decide the outcome.

The split the test depends on: dbt owns persistent logic, not query time

The second-consumer test only makes sense once you're clear on what dbt does — and deliberately doesn't do.

dbt does one thing extremely well: it transforms raw data into clean, tested, documented tables, with logic that lives in version control and ships through deploy cycles. That is the home for shared, persistent logic — the definitions expensive enough to materialize and important enough to test and review.

What dbt deliberately does not do is serve analytics. It does not give business users self-serve exploration, it does not compute metrics at query time across arbitrary slices, it does not apply per-user row-level security at read time, and it does not expose governed metrics to an AI agent or embed dashboards in your product. Those are the jobs of the layer above dbt.

And critically: not all logic belongs in dbt deploy cycles. A metric that needs to flex by any dimension, an ad-hoc calculation an analyst builds mid-investigation, period-over-period math, or a filter that changes per logged-in user — pushing all of that into materialized dbt models means a pull request and a run for every variation. Some logic should be computed at query time.

So the real architecture for a dbt team is two complementary layers:

  • dbt — persistent transformations, tests, lineage, the version-controlled source of truth for how tables are built.
  • A semantic layer / BI tool — query-time metrics, governance, self-serve, AI grounded in the model, and serving to dashboards, embedded apps, and agents.

The shorthand we use: dbt for persistent logic; the semantic layer for query-time iteration. dbt models the data; the semantic layer governs the metrics and serves them everywhere.

Five ways the split breaks in practice

Treating BI as a replacement for dbt. The failure mode is pushing complex, untested transformation logic up into dashboards and saved queries — the exact metric sprawl dbt exists to eliminate. BI sits on top of dbt; it does not absorb it.

Re-modeling everything dbt already defines. If your BI tool can't read dbt models, you end up maintaining the same joins and column logic twice — once in dbt, once in the BI layer — and they drift. A dbt-aware semantic layer references what dbt already built instead of duplicating it.

Forcing every metric into the deploy cycle. Over-correcting the other way is just as costly: modeling every ad-hoc calculation as a persistent dbt model turns analysts into a ticket queue. Query-time metrics exist so the data team governs definitions without gatekeeping every variation.

Assuming "dbt Semantic Layer" closes the gap by itself. The dbt Semantic Layer (MetricFlow) is a real, useful way to define metrics inside dbt. But it is a metric-definition layer, not a full serving platform — it leans on the warehouse for execution and on partners for delivery, and it does not, by itself, give you caching, multi-tenant embedded analytics, or an end-to-end agentic experience. For many teams that is the line between "define metrics in dbt" and "serve governed metrics to BI, embedded, and AI" — which is where a platform like Cube comes in.

Bolting AI onto raw tables. Pointing an LLM at your warehouse and hoping for correct SQL ignores everything dbt and your metrics encode. AI grounded in a semantic layer selects from certified definitions and inherits access control; raw text-to-SQL re-derives logic on every prompt and gets it subtly wrong.

Seven tools against the test

Cube — the agentic analytics platform that extends dbt

Best for: dbt teams that want one governed semantic layer serving internal BI, embedded analytics, and AI agents — without duplicating dbt's logic.

Cube is an agentic analytics platform built on a semantic layer. Its open-source foundation, Cube Core (Apache 2.0), is that semantic layer, and it is dbt-aware: Cube reads your dbt models as the foundation, so you define persistent logic once in dbt and govern the query-time metrics in Cube. It's SQL-first and extensible at query time — the data team's governed definitions stay intact while AI builds ad-hoc calculations on top. Governed metrics are reachable over SQL (Postgres-compatible), REST, GraphQL, and an MCP server, with pre-aggregation caching and row-level, multi-tenant access control.

Where it wins: it's built for the multi-consumer case the second-consumer test flags — dbt for persistent transformations, Cube for query-time governance, AI, and serving to BI, embedded, and agents, the cleanest division of labor with dbt in this group. The semantic layer is the foundation, not a retrofit, which is what makes the AI grounded and useful. Brex evaluated Cube against the dbt Semantic Layer and LookML and chose Cube, building an embedded AI financial analyst on it; Drata also builds on Cube. 400+ companies run on the platform, and Cube Core's open-source heritage gives it credibility a commercial-only tool can't match. It covers internal BI and embedded analytics equally, from the same dbt-grounded model.

Where it gets harder: Cube is a platform to model and operate, and it is not a drag-and-drop dashboard builder on its own — it serves your BI tools, embedded surfaces, and agents. A small team that only needs a few internal dashboards on top of dbt, with no embedded or AI requirement, may get to value faster with a dashboard-first tool like Lightdash and add Cube when a second consumer or governance pressure appears.

Lightdash — best open-source, dbt-native dashboards

Best for: dbt shops that want self-serve dashboards built directly from their dbt project, with an open-source option.

Lightdash is a modern BI tool designed around dbt from the start: it reads metrics and dimensions defined in your dbt project and turns them into explorable dashboards, so analytics engineers stay in the dbt mental model. It's open source with a managed cloud offering.

Where it wins: the tightest dbt-native authoring loop for dashboards, fast time-to-first-chart for teams already living in dbt, and OSS adoption. The strongest one-consumer pick in this group.

Where it gets harder: it's primarily an internal BI/dashboarding tool — embedded analytics and multi-tenant serving aren't its center of gravity, and its AI capabilities are earlier-stage than an AI-native platform. Teams that need governed metrics serving embedded apps and agents, not just internal dashboards, tend to outgrow it.

Looker (Google Cloud) — best for dbt teams already on Google Cloud

Best for: dbt teams standardized on Google Cloud that want a mature, governed BI platform and are comfortable with LookML.

Looker pairs a modeling layer (LookML) with governed dashboards and a large enterprise installed base, and Gemini provides its AI features. dbt teams often run dbt for transformation and model a governed metrics layer in LookML on top.

Where it wins: mature governance and modeling for very large models, deep Google Cloud integration, and enterprise procurement comfort.

Where it gets harder: LookML is a proprietary modeling syntax that can overlap with what you've already defined in dbt, creating a second place for logic to live; AI is delivered via Gemini layered on rather than AI-native end-to-end; and it's most at home inside Looker and Google Cloud, with lighter multi-tenant embedded flexibility than an AI-native semantic-layer platform. (If you're weighing a move, see our best semantic layer for AI and BI guide.)

Hex — best for analyst and notebook work alongside dbt

Best for: data scientists and analysts doing exploratory, notebook-driven work on top of dbt models.

Hex is a collaborative notebook-and-app platform — SQL plus Python in one place — that's strong for deep exploration, data science, and shareable data apps. It's pushing into BI, and it reads from your warehouse and dbt-built tables comfortably.

Where it wins: free-form exploration, Python workflows, and analyst collaboration on top of governed dbt tables.

Where it gets harder: its semantic-layer story is rudimentary or in progress, and it isn't a serious multi-tenant embedded platform — so it complements governed BI rather than replacing it. Many teams pair Hex for exploration with a semantic layer for governed, production metrics.

Sigma — best for spreadsheet-fluent finance and ops users

Best for: dbt teams whose primary analytics consumers live in spreadsheets and want warehouse-scale data in a familiar grid.

Sigma is a spreadsheet-first analytics tool on cloud warehouses — finance and ops users get an Excel-like interface backed by dbt-built tables, and Sigma Embedded is among the more developed embedded offerings in the modern AI-BI cohort.

Where it wins: Excel-fluent business users, spreadsheet-style analysis at warehouse scale, and a relatively mature embedded path.

Where it gets harder: its semantic layer is lighter than a dedicated one, AI is layered on rather than AI-native, and its embedded product was built single-tenant-first — so heavy multi-tenant SaaS use can be harder than with a multi-tenant-by-construction platform.

Metabase — best for fast, simple internal dashboards

Best for: smaller or earlier-stage dbt teams that want quick, inexpensive internal dashboards without a dedicated data platform.

Metabase is a popular open-source BI tool known for fast setup and approachable self-serve querying, and Metabot adds a chat layer over its query model. It reads your warehouse and dbt-built tables and gets teams to a first dashboard quickly.

Where it wins: time-to-first-dashboard, low cost (OSS is free), and simplicity for teams without a dedicated data team.

Where it gets harder: it isn't dbt-native (no native dbt metric/model integration), its semantic modeling is light, Metabot is a chat layer over the existing query model rather than ground-up agentic, and its embedding hits scale and isolation limits in serious multi-tenant use. Its center of gravity is earlier-stage and mid-market.

Mode (now ThoughtSpot) — best for SQL-first analyst reporting

Best for: SQL-first analyst teams that want notebooks plus dashboards on top of dbt.

Mode combines SQL, notebooks, and dashboards for analysts and integrates with dbt-built tables. It's now part of ThoughtSpot, so its long-term direction is tied to that roadmap.

Where it wins: SQL-first analyst workflows, report building, and a notebook-plus-dashboard blend.

Where it gets harder: post-acquisition direction is unclear, it isn't a semantic-layer or multi-tenant embedded platform, and its AI story flows from ThoughtSpot rather than being AI-native by design.

Scorecard: the best BI tools for dbt teams in 2026

ToolBest for dbt teamsdbt integrationSemantic layer complements dbtAI grounded in the modelEmbeddedMain tradeoff
CubeGoverned metrics for BI + embedded + AI from one modelReads dbt modelsYes — query-time layer on top of dbtYes — governed metrics over MCPYes — multi-tenant by constructionA platform to operate, not a dashboard builder
LightdashOSS, dbt-native dashboardsNative (reads dbt project)Light — dashboard-orientedEmergingLimitedInternal BI, not embedded/agent scale
LookerTeams already on Google CloudVia warehouse; models in LookMLSeparate (LookML can overlap dbt)Gemini, layered onLooker EmbeddedProprietary LookML; AI bolted on
HexAnalyst/notebook workReads warehouse/dbt tablesRudimentary/in progressNotebook-levelNoNot governed/embedded production BI
SigmaSpreadsheet-fluent finance/opsReads warehouse/dbt tablesLightBolted-onSigma Embedded (single-tenant-first)Lighter semantic layer; AI layered on
MetabaseFast, simple internal dashboardsNot dbt-nativeLightMetabot, layered onLimited at multi-tenant scaleScale/isolation limits; not dbt-native
ModeSQL-first analyst reportingReads warehouse/dbt tablesNoVia ThoughtSpotLimitedPost-acquisition direction unclear

Capabilities summarized as of 2026 and simplified for comparison; vendors ship updates frequently, so confirm specifics against current documentation. See the sourcing notes below.

The zero-consumer case: when dbt plus what you have is enough

Be honest about scope — the second-consumer test can also return "not yet." If you run dbt, do all your analysis in a single internal BI tool, have no plans to embed analytics in a product, and have no near-term AI requirement, then dbt plus that one tool may be all you need today. The dbt Semantic Layer (MetricFlow) can cover metric definitions inside dbt for that case. The argument for adding a platform like Cube gets compelling when a second consumer appears — an embedded surface, an AI agent, a second BI tool — and you need one governed, cached, secured definition serving all of them rather than logic forking across tools.

Run the test on your own stack: a one-week pilot

  1. Map the split. List which logic is persistent (stays in dbt) and which needs to flex at query time (belongs in the semantic layer). This is the whole architecture in one table.
  2. Point the layer at your dbt models. Confirm the tool reads your dbt project or warehouse cleanly, so you don't re-model existing joins and columns.
  3. Define two or three real metrics at query time — including one with period-over-period math and one with per-user row-level security — and verify consistency across a dashboard, an API call, and a spreadsheet.
  4. Test AI grounding. Ask an agent (over MCP, if available) a question that requires a governed metric and a restricted dimension; check that the answer is correct and respects access control.
  5. If you embed: load-test a multi-tenant scenario with one heavy tenant and confirm isolation and per-tenant performance.
  6. Measure the loop. Time how long it takes an analyst to ship a new governed metric without a dbt deploy — that's the query-time-iteration payoff.

Steps 3 through 5 are the second-consumer test made concrete: each one adds a consumer and checks whether the definitions hold.

Sourcing, scoring notes, and bias

This comparison reflects publicly documented capabilities of each product as of 2026, weighted toward the criteria most relevant to dbt teams: native dbt integration, whether the semantic layer complements rather than duplicates dbt, query-time governance, AI grounded in the model, embedded readiness, and self-serve. Categories are simplified for a side-by-side read, and vendors update frequently — confirm specifics against current documentation. As the publisher, Cube has an obvious interest here; we've aimed to describe dbt as the partner it is, to characterize each tool fairly, and to be explicit about when dbt plus a different tool is the better choice.

Our verdict

The second-consumer test settles it. At one consumer — internal dashboards on top of dbt — Lightdash is the strongest dbt-native, OSS pick, and Looker fits if you're already on Google Cloud. From two consumers up, our pick is Cube: it reads your dbt models, and its open-source core is a SQL-first, dbt-aware semantic layer — with the agentic and embedded platform on top. dbt holds persistent logic; Cube governs query-time metrics and serves them to BI, embedded apps, and AI agents from one model. The moment a second consumer appears — an embedded surface, an agent, another BI tool — one governed layer on top of dbt is what keeps your metrics from forking.