A semantic layer is a governed layer between your raw data and the tools that query it. Business entities, metrics, dimensions and join paths are defined there once, in code. Every dashboard, spreadsheet export and AI assistant then computes “revenue” or “active customer” the same way, because none of them defines it on its own.
What is a semantic layer?
The dbt documentation describes the idea plainly. By centralizing metric definitions, data teams can ensure consistent self-service access to those metrics in downstream tools, and moving definitions out of the BI layer into the modeling layer means different business units work from the same definitions.1Source 1 · dbt Labsdbt Semantic Layerdocs.getdbt.com A semantic layer usually contains four things:
- Entities and their keys (customer, subscription, campaign, aircraft).
- Measures: aggregations such as
sum(amount)orcount(distinct user_id), with filters baked in. - Dimensions to slice by, ideally conformed so “region” means the same thing on every table, an idea dimensional modeling has long relied on.2Source 2 · Kimball GroupDimensional Modeling Techniqueskimballgroup.com
- Relationships: the allowed join paths, so a query cannot fan out and double-count.
Scroll sideways to see the full diagram.
Example: defining MRR once
model: subscriptions
grain: one row per subscription per day
entities:
- name: customer
key: customer_id
measures:
- name: mrr
label: MRR
agg: sum
expr: monthly_amount
filters:
- status in ('active', 'past_due')
dimensions:
- name: plan
- name: region
- name: date
type: timeOnce MRR lives here, the board deck, the finance dashboard and a question typed into Ask Kimo all compile to the same SQL. Change the definition (for example, to exclude past_due) and every consumer updates together, with the change in version history.
Common misconceptions
- “It is just a set of views.” Views fix the query shape. A semantic layer composes measures and dimensions at query time and enforces valid joins.
- “Our BI tool already has one.” If the definitions live inside one tool, every other tool, notebook and AI agent re-implements them.
- “It slows things down.” It compiles to SQL that runs where the data is, and can be pushed down to the source.
How Kimo uses a semantic layer
Everything in Kimo reads from its semantic layer: Models, dashboards and Ask Kimo, which shows the measure and SQL behind every answer instead of guessing. Learn the building blocks in data models and measures and dimensions. The semantic layer for AI post explains why it matters for LLMs.
Related terms
- Data model: the cleaned tables a semantic layer sits on.
- ELT vs ETL: how data arrives before it is modeled.
- Row-level security: restricting what each viewer can see.
Frequently asked questions
What is the difference between a semantic layer and a metrics layer?
Do I need a semantic layer if I have a data warehouse?
Why does a semantic layer matter for AI assistants?
Sources
2 references- dbt Semantic Layer (opens in a new tab)dbt Labsdocs.getdbt.com
Centralizing metric definitions for consistent self-service; moving definitions out of the BI layer.
- Dimensional Modeling Techniques (opens in a new tab)Kimball Groupkimballgroup.com
Conformed dimensions, facts and star schemas.
External sources were accessed at the time of writing. Kimo product details, customers and figures in examples are illustrative unless a source is cited.





