This one is the full book, and the hardest thing I read this year. It runs from the basics to query plans and the columnar storage engine, in a progression that does not forgive: every chapter assumes the last one.
What I took from it
The distinction that makes the language hard: a formula is not evaluated on its own but inside a set of filters coming from wherever it is placed, and there is an operation that silently turns a row-by-row iteration into a new filter. Almost every strange result people report is that. Understanding it does not come from reading the definition; it comes from the book's worked examples, one after another.
And the lesson that outlives the tool: the model decides the measure. If the tables are related properly, formulas come out short and readable; if the model was thrown together, every measure becomes a patch compensating for the original flaw. So when someone asks for indicators, the first thing I look at is not the indicators but how the tables are joined.
It also produced a rule for quoting reporting work: the price depends on the model, not on the number of charts.
What I left out
The last chapters, on query plan analysis and engine optimisation. They are excellent and written for people who do this full time; for anyone who writes a handful of measures a year, reading them is time badly spent. This is a reference, and treating it as a novel is the surest way to abandon it at page two hundred.