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.
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.
What the guide covers
Each step has a page with the full rules and more examples.
| Step | What you see | Read more |
|---|---|---|
| 1. Declare a measure | The parts of Revenue’s declaration, one at a time. | Measures |
| 2. The context decides the number | One measure, grouped and filtered four ways, and the orders behind each result row. | Change a measure’s context |
| 3. Totals come from the rows | Why customers by region add up to more than all customers. | Measures |
| 4. Measures built on measures | Why 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 measure | A query that adds euros to dollars, the compiler’s refusal, and its fix. | Measures you cannot add up |
| 6. EVAL changes one value’s context | Each modifier, and the cells and rows it changes. | Change a measure’s context |
| 7. Pass it on, fix a value, or make a new measure | What readers of a query get for each choice. | Pass through, evaluate or declare |
| 8. Read a measure’s card | What a measure takes, what it computes and the rules for using it. | Semantic models |
| 9. If you know another tool | The closest Kater form for ideas from an Excel pivot table, Power BI, Tableau, Looker and dbt MetricFlow. | Kater SQL reference |
| 10. Reference | Every 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.