Field note · December 16, 2024

Cutting a lesson down — Facts, dimensions, and picking a grain

Dimensional modelling is thirty years old and still the right default, because it optimises for the thing that actually matters — an analyst being able to answer a question without asking anyone.

1 min read ·Analytics engineering ·practice

A note from writing Facts, dimensions, and picking a grain, which took three passes to get to something short.

Dimensional modelling is thirty years old and still the right default, because it optimises for the thing that actually matters — an analyst being able to answer a question without asking anyone.

The hard part of writing this was cutting it. The first version covered every case; the useful version covers the case you hit on a Tuesday and names the rest in a sentence. Completeness is a property of reference material, not of teaching material, and confusing the two produces something nobody finishes.

It sits in the Modelling the warehouse module, and the exercise runs against retail-orders. That pairing is deliberate: the dataset was built with the trap the lesson describes already in it, so the exercise fails in the instructive way rather than the confusing one.

Ordering matters here more than in most courses. It follows Schema drift, and the contract that prevents it and leads into Slowly changing dimensions, and the "as of when" problem, and reading it out of sequence mostly works but costs you the setup.

Free means free, and it also means we can rewrite it whenever it is wrong. No edition, no errata PDF, nothing to repurchase. The whole course is 36 lessons and the fixes land the day we find them.