Analytics

17 August 2026

Semantic layers explained: why a metric defined once should never drift

The same "revenue" number showing three different values in three different tools isn't usually a data quality problem. It's a definition problem. One tool might count a sale the moment a contract is signed. Another might wait until payment clears. A third might back out expected refunds before the number ever reaches a dashboard. That's the exact thing a semantic layer exists to fix.

What a semantic layer actually is

A semantic layer sits between your raw warehouse tables and everything that reads from them. That includes dashboards, ad hoc queries, exports, scheduled reports, and an AI agent answering a plain-English question. Each of those surfaces could write its own aggregation logic. Instead, they all resolve against the same named metric — the same "active customers," the same "net revenue," computed the same way, everywhere it appears.

"Active customers" might mean "logged in this month" to one team and "paid within the last 30 days" to another. Both are reasonable. A semantic layer doesn't rule either one out — it picks one definition and holds every surface to it, so the disagreement gets settled once instead of every time someone builds a new chart.

The alternative: definitions living in five places

Without one, a metric's definition ends up scattered. Some of it lives in a filter buried in a dashboard. Some lives in a CASE WHEN in an analyst's SQL. Some lives in a calculated field in a spreadsheet. Some lives in a footnote in last quarter's slide deck, explaining why that version excludes refunds. Each copy drifts independently. Nobody decides to make them disagree. They just do, one small edit at a time, until two people in the same meeting are confidently citing different numbers for the same thing.

Neither version is wrong on its own terms. A sales dashboard might count the deal the moment it's signed. A finance report might wait until the invoice clears. Each team is answering a different question with the same word — and nobody ever agreed on which question "revenue" was supposed to answer.

How to tell if a tool has a real one

A useful test: change a metric's definition once. Does it update everywhere that metric is used? Or do you have to go and find every dashboard, report and export that happens to reference it? Look at how a chart's underlying query is built. If it's a bespoke expression written for one chart, rather than a reference to a shared, named metric, the tool doesn't have a semantic layer. It just has a lot of dashboards that happen to look consistent today.

  • Does the platform let you name and define a metric once, in one place?
  • Do dashboards, exports and an AI assistant's answers all resolve against that same definition?
  • If you fix a definition, does every surface that used it update automatically?
  • Can two people ask the same question in two different tools and get two different answers?

Where this matters most

It matters everywhere. But it matters most anywhere a number leaves the building — a client-facing report, a board pack, a number an AI agent states with total confidence. You can't ship a metric to a client whose definition might quietly differ from the one an analyst used in a different report last quarter. And you often won't find out until someone asks why the two don't match.

By then, the client has already seen both numbers. Explaining the gap after the fact costs more credibility than getting the definition right the first time would have. A semantic layer doesn't make that conversation more polished — it removes the reason to have it.

How Veritly approaches it

Veritly's agent doesn't answer from memory. Every response is produced by a SQL query against your warehouse, resolved through a governed semantic model. The query is shown next to the answer, so it can be checked before anyone acts on it. A metric defined once in that model stays defined. A dashboard reads it. A scheduled report cites it. The AI agent uses the same definition when it's asked the same question in plain English.

Join the private beta waitlist — early access includes a setup session with the team that built it.

Related reading: what it takes to trust a natural-language answer, and what an integrated analysis environment is.

See also: dbt and the reporting layer.

Share:

Other articles

Analytics

August 31, 2026

dbt reporting layer: do you still need one on top of BI?

Metrics defined in dbt still get redefined in every BI tool. A dbt reporting layer closes that gap: what dbt solves, what it doesn't, and where the two meet.

Read Article →
AI and ML

August 24, 2026

Natural language to SQL: what it takes to actually trust the answer

Natural language to SQL tools can sound confident and still be wrong. Here's what has to be true before an analyst can trust the answer, not just admire it.

Read Article →
Analytics

July 7, 2026

What Is a Data Warehouse and Why Do You Need One?

A data warehouse explained in plain terms: what it does, how it differs from a database, and when your business actually needs one. Plus what it cannot fix.

Read Article →