Pro · Lesson 6 of 9
Models curate columns. Metrics name a measure once. Questions should start there.
Sign in to save your place.
A model is the cleaned shelf you want people to pull from. The raw table may have ten date columns and three amount columns. The model keeps the ones with agreed names. A metric is the label on the jar, such as Revenue, so two people do not invent two sums.
A model is a saved question you mark as a model, or a model you build in the editor. People start new questions from it instead of from the raw table. You set display names, descriptions, visibility, and semantic types on its columns. Hidden columns stay out of the picker. That metadata is the beginning of a semantic layer: one meaning, used in many charts.
Put the joins and the business filters that everyone shares inside the model. Leave the local filter, such as "this team" or "this month", to the question. If every question repeats the same three joins, those joins belong in the model.
| Layer | Owns | Does not own |
|---|---|---|
| Warehouse table | Grain and stored rows | Chart titles |
| Model | Columns people may use, and shared logic | One team's date range |
| Metric | One named aggregation | The dashboard layout |
| Question | A specific cut of a model | A second definition of revenue |
Define a metric when a measure must mean the same thing everywhere. Revenue might be the sum of amount where status is paid. Once that metric exists on the model, the query builder can use it instead of asking each author to retype the sum and the filter.
Older Metabase versions had a separate Metrics admin that was removed. If you still see that legacy screen, treat it as history and move the definition onto a model. Do not maintain two formulas. The semantic layer is the model plus its metrics and column metadata, not a second warehouse.
-- The idea of a metric, written out so you can check it.
-- In Metabase you define this once on the model.
SELECT SUM(amount) AS revenue
FROM orders
WHERE status = 'paid';Write "one row per paid order" where a colleague will see it. A perfect chart on the wrong grain is still wrong.
Define clean data and key numbers once, then build every question on top.
Step 1 of 3A model is a saved, cleaned-up table, for example Completed orders, with descriptions on each column. It is the trusted starting point.
New → Model → Orders where Status = Completed
Step 2 of 3A metric defines a calculation once, such as Revenue = Sum of Total on completed orders, so every team shows the same number.
New → Metric → Completed orders → Sum of Total
Step 3 of 3New questions start from the model and pick the metric instead of rebuilding the filters each time.
New → Question → Completed orders → Revenue by Month
Turn one trusted question into a model. Rename two columns, hide one technical key, and write a one-sentence description of the grain. If your Metabase version offers metrics on models, add one named measure and build a question that uses it without retyping the formula.
Checked against vendor documentation in October 2026. Screens and plan names still change, so confirm the control in your own instance.