Skip to main content
On this page

Model Fields Measures

How measures work

An interactive guide: change a query of the sample shop and see which orders each number reads.

Audience
Everyone who reads or writes measures

A measure gives a different number in each place you use it, because each place works it out again from the source rows. This guide shows that with the 3,000 orders of Kater’s sample shop. Change a query, select a number, and the grid lights up the orders it read. Your browser computes every number from the shop’s rows, and the Kater compiler gives the same values.

Each square in the grids is one order of the sample shop. Open full size

What the guide covers

Each step has a page with the full rules and more examples.

StepWhat you seeRead more
1. Declare a measureThe parts of Revenue’s declaration, one at a time.Measures
2. The context decides the numberOne measure, grouped and filtered four ways, and the orders behind each result row.Change a measure’s context
3. Totals come from the rowsWhy customers by region add up to more than all customers.Measures
4. Measures built on measuresWhy the value of Revenue per Customer for all orders is not the average of its rows.Measures built from measures
5. Rules travel with the measureA query that adds euros to dollars, the compiler’s refusal, and its fix.Measures you cannot add up
6. EVAL changes one value’s contextEach modifier, and the cells and rows it changes.Change a measure’s context
7. Pass it on, fix a value, or make a new measureWhat readers of a query get for each choice.Pass through, evaluate or declare
8. Read a measure’s cardWhat a measure takes, what it computes and the rules for using it.Semantic models
9. If you know another toolThe closest Kater form for ideas from an Excel pivot table, Power BI, Tableau, Looker and dbt MetricFlow.Kater SQL reference
10. ReferenceEvery form on the guide with a value from the shop, and each refusal with its quick fix.EVAL and its modifiers

The data

The shop has 240 customers and 3,000 orders, from January 2025 to September 2026, in four regions and two currencies. The rows are generated, not a real shop’s. Its models are the orders and customers Kater datasets, the shop semantic model that joins them, and the shop workspace with its queries.