DAX is not only an expression language but also a query language and, when it comes to performance, the xVelocity in-memory engine is second to none. Scanning fact tables and performing leaf-level computation happens in a matter of milliseconds. Nevertheless, as with any other language, you can write good DAX or bad DAX, depending on your understanding of the engine internals. This session introduces DAX as a query language, showing the different ways of querying with DAX using real-world data. Some queries will be fast, others will need optimizations. Many practical examples based on common patterns and an analysis of the query plans show how to get the best out of DAX.