Querio vs Cube semantic layer: what happens to dbt metrics

A side-by-side look at Querio and Cube semantic layer. We keep our reviews honest and fair so you can make an informed decision.

Cube semantic layer dashboard
Querio dashboard

‹ QuerioDrag to compareCube semantic layer ›

Say revenue is a MetricFlow metric in your dbt project, with refunds left out. Import that project into Cube and open the cube it generates: there's a dimension for every column, a count, and a total_amount that still counts the refunds. Revenue isn't there. Cube is an open-source, headless semantic layer with its own data model, and you write revenue into it a second time, by hand. Querio reads the metric you already have in dbt, as it is.

What does Cube's dbt import bring in?

Cube's dbt import is called dbt pull, and it's on the Premium plan and above. It "converts models, their columns, and their relationships. dbt metrics and semantic models are not imported." Each column becomes a dimension and every cube gets a count. Numeric columns whose names suggest money or totals (amount, price, cost, total, value) also get a total_<column> sum. That's where total_amount comes from: a guess from the column name, not your definition.

The generated files are rebuilt on every pull, and any edits to them are lost. Your real measures go in a cube you write by hand that extends the generated one. The open-source cube_dbt package reads the same thing, the models in dbt's manifest.json. Neither mentions MetricFlow's semantic_manifest.json, the file where your metrics live.

Cube keeps its data model in git, as YAML or JavaScript files with branches and pull requests, so this isn't about version control. It's that revenue now has two definitions: the MetricFlow metric your dbt project owns, and the Cube measure everything downstream of Cube reads. Change how refunds count in one, and the other keeps giving the old number until someone remembers to copy the change.

Where revenue is defined. With Querio, revenue is one MetricFlow metric in your dbt project, and Querio's agent, Slack, Claude through MCP and dashboards all read it. With Cube's dbt import, the MetricFlow metric stays in dbt and a second revenue measure is written by hand in Cube, which Analytics Chat, BI tools and the Slack agent read. Source: Cube's dbt integration docs, November 2026.

How does Querio use the metrics already in dbt?

It reads them. Querio loads your project's semantic_manifest.json, so when the agent answers a revenue question it uses the metric your team wrote in dbt YAML, and there's nothing in Querio to keep in step. Teams without dbt write metrics in Querio, and they're saved to the repo in MetricFlow format.

Agents outside Querio get the same metric. Claude, ChatGPT or an agent you built can connect through Querio's MCP server and ask for revenue by name. The call runs as the person signed in, so it returns only the rows they're allowed to see. Querio's files can sit in your dbt repo too, so a change to a model and the notes that explain it can ship in the same PR.

What does a small data team need on top of Cube?

A place where people can ask questions. Cube Core, the open-source part, "doesn't ship a UI". So a team either uses Cube Cloud's Analytics Chat, workbooks and dashboards, or connects a BI tool through Cube's SQL, REST, GraphQL or DAX APIs. Cube's Slack agent is on Premium and above, and for now it works only in direct messages. Whichever one a person uses, it reads the Cube measure, the second copy of revenue.

Querio is the place to ask. Every answer is a SQL and Python notebook, so an analyst can open the query behind the number and check it. The web app and the Slack agent read the one revenue metric in dbt.

How is Cube priced next to Querio?

Both have a free plan. They split on who needs a seat.

Querio Cube
Who needs a seat Nobody: unlimited users on every plan, so anyone in the company can ask Developers, the people who edit the data model: $40 a month each on Starter, $80 on Premium. On Premium, Cube's own apps add Explorer seats ($40 a user a month) and Viewer seats ($20).
What's billed by use AI model calls, as credits: 500 a month on Free, 10,000 on Core. Asking for a metric through the MCP server uses none, and neither do dashboard refreshes or automations Cube's own compute by the hour, such as a dedicated deployment at $0.60 an hour on Starter and $1.20 on Premium
Plans Free $0; Core $2,499 a month or $25,000 a year; Enterprise custom Free; Starter; Premium; Enterprise custom

All our plans are on the pricing page. If Cube isn't the only tool on your list, we've also compared Querio vs Lightdash and Querio vs Omni, and our dbt Semantic Layer guide covers what dbt itself charges for.

See it on your own data

Bring a metric you already defined in dbt and watch Querio answer with it, as it is.

Get started for freeBook a demo