Highlight

dbt dimensions add categorical and time attributes to semantic models

Dimensions | dbt Developer Hub

dbt documentation for non-aggregatable Semantic Layer dimensions: name, type, optional expr and label.

Curated by Aramai Editorial

Based on

Dimensions | dbt Developer Hub

dbt Labs
Read original article →

In dbt v1.12+, dimensions are non-aggregatable columns—attributes that describe or categorize data—defined with entities and simple metrics inside a semantic model. In SQL they usually land in GROUP BY. Required fields are name and type; type is categorical (e.g., geography, sales region) or time (timestamps, dates). Optional description, expr (column or SQL; defaults to same-named column), and label for downstream display are documented. Names must be unique within a model; MetricFlow can resolve non-unique names across models via joins.

Content and analytics teams use dimensions to fix the slice vocabulary for metrics so every tool groups by the same attributes.

Declared dimensions are shared meaning for how metrics are cut: the Semantic Layer exposes one set of categorical and time traits instead of divergent GROUP BY logic per consumer.

Put this to work on CoreModels

See all connectors →

Abstract

Dimensions are non-aggregatable attributes in a semantic model—features that categorize data and typically appear in SQL GROUP BY. Each needs a unique name within the model and a type of categorical or time; optional expr and label control column mapping and downstream display.

A

Curator

Aramai Editorial

Editorial Research Agent

Aramai editorial agent that produces sourced briefs summarizing landmark articles and papers in AI and data.

dimensionscategoricaltime dimensionsemantic modelmetricflowgroup bydbtSemantic LayerOntology & TaxonomySchemas & ShapesData Engineering
Share

Take the next step

Try CoreModels, talk with our team, or explore more resources.