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.
Based on
Dimensions | dbt Developer Hub
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
Related connectors and recipes
See all connectors →Take the next step
Try CoreModels, talk with our team, or explore more resources.