Pro DAX with Power BI book cover by Philip Seamark and Thomas Martens, featuring abstract data and analytical design elements

Pages

376

Published

2019

Pro DAX with Power BI

Advanced DAX techniques and data modeling patterns for Power BI professionals

Move beyond basic measures and build Power BI models that handle real-world complexity with precision and speed.

Pro DAX with Power BI by Philip Seamark and Thomas Martens is a practical reference for analysts and BI developers who already know their way around Power BI and want to write DAX that actually performs. The book works through evaluation contexts, filter propagation, and advanced calculation patterns with concrete examples drawn from realistic data models, giving you the vocabulary and technique to solve problems you currently work around.

About this book

Most Power BI users hit a wall. Basic measures work fine until the business asks for something more nuanced: time intelligence across non-standard calendars, ratios that survive slicer selections, running totals that respect filter context. That is where DAX stops feeling intuitive and starts demanding real understanding.

Pro DAX with Power BI was written by two practitioners who spend their professional lives building and auditing Power BI models. Philip Seamark and Thomas Martens do not walk you through the ribbon or explain what a slicer is. They start where most books stop: evaluation context, filter propagation, and the precise mental model you need to predict what a DAX expression will return before you run it.

The book is organized around the concepts that trip up experienced users most often. You will work through row context and filter context in depth, understand how CALCULATE reshapes the filter environment, and learn why two expressions that look equivalent can return completely different results under different query conditions. From there you move into iterator functions, context transition, and the patterns that underpin virtually every advanced calculation you will ever write.

Data modeling decisions are treated as a first-class concern throughout. The authors show how table relationships, cardinality choices, and schema design directly affect what your DAX can and cannot express efficiently. A poorly structured model cannot be rescued by clever DAX, and this book makes that relationship explicit.

  • Evaluation context, filter context, and context transition explained with worked examples
  • CALCULATE, CALCULATETABLE, and filter arguments dissected step by step
  • Iterator functions including SUMX, RANKX, and TOPN used in realistic scenarios
  • Time intelligence patterns for standard and custom calendars
  • Semi-additive measures, many-to-many relationships, and other advanced modeling challenges
  • Performance analysis and query optimization using DAX Studio

If you already know how to build a report in Power BI and want to stop guessing why your measures return unexpected numbers, this book gives you the systematic understanding to write DAX with confidence and defend every expression you ship.

🎯 What you'll learn

  • Predict the result of any DAX expression by reasoning through row context and filter context before running it
  • Use CALCULATE and its filter arguments to reshape the filter environment precisely and intentionally
  • Write iterator functions such as SUMX and RANKX correctly across complex table relationships
  • Apply context transition to build calculations that behave correctly inside both tables and cards
  • Implement time intelligence patterns for standard fiscal calendars and non-standard date structures
  • Model many-to-many relationships and semi-additive measures without calculation errors
  • Diagnose slow measures using DAX Studio and rewrite queries to reduce storage engine load
  • Structure a data model so that DAX expressions stay readable, correct, and maintainable as requirements grow

πŸ‘€ Who is this book for?

  • Power BI developers who write DAX regularly but still find filter context behavior unpredictable or surprising
  • Business intelligence analysts moving from Excel formulas or SQL aggregations into serious Power BI modeling
  • Data engineers who design tabular models and need to align schema decisions with DAX performance constraints
  • Report authors who have hit the limits of drag-and-drop measures and need to build complex custom calculations
  • Power Platform professionals tasked with auditing or optimizing existing Power BI datasets written by others

Table of contents

  1. 01

    DAX Foundations and Data Model Basics

    Establishes the mental model for how DAX interacts with the tabular engine, covering tables, columns, measures, and the relationship between schema design and calculation behavior.

  2. 02

    Evaluation Context in Depth

    Breaks down row context and filter context from first principles, using step-by-step worked examples to show exactly how DAX determines which rows participate in any calculation.

  3. 03

    CALCULATE and Filter Manipulation

    Dissects the CALCULATE function argument by argument, showing how each filter argument adds, removes, or replaces filters and why this matters for every non-trivial measure you write.

  4. 04

    Context Transition and Iterators

    Explains how context transition converts row context into filter context, then applies that understanding to SUMX, AVERAGEX, RANKX, and other iterator functions in realistic scenarios.

  5. 05

    Advanced Filtering Patterns

    Covers ALLSELECTED, KEEPFILTERS, and filter table arguments, showing how to build measures that respect or ignore slicer selections in a controlled and predictable way.

  6. 06

    Time Intelligence

    Implements standard time intelligence functions for year-to-date, moving averages, and period-over-period comparisons, then extends the patterns to non-standard and fiscal calendars.

  7. 07

    Relationships and Data Modeling Decisions

    Examines how cardinality, cross-filter direction, and bidirectional relationships affect DAX results, with guidance on when each modeling choice helps or creates hidden problems.

  8. 08

    Many-to-Many and Semi-Additive Measures

    Works through many-to-many relationship patterns and semi-additive calculations such as last-balance measures, with clear explanations of why standard aggregation functions fail in these scenarios.

  9. 09

    Query Performance and DAX Studio

    Introduces DAX query plans and the storage engine versus formula engine distinction, then demonstrates how to use DAX Studio to profile slow measures and restructure expressions for speed.

  10. 10

    Real-World Calculation Patterns

    Assembles the techniques from previous chapters into a set of complete, production-ready calculation patterns covering basket analysis, dynamic segmentation, and conditional ranking.

Frequently asked questions

Do I need prior DAX experience to read this book?

Yes. The authors assume you already write basic measures and calculated columns in Power BI. If you have never used SUM or IF in DAX, start with an introductory resource first.

Does the book cover Power BI Desktop, the Power BI service, or both?

The focus is on DAX and data modeling, which applies to Power BI Desktop and Analysis Services tabular models. Service-specific features such as deployment pipelines are not the subject of the book.

Are sample files or workbooks available with the book?

Apress titles typically include downloadable companion files accessible through the publisher's website. Check the book's page on apress.com for the source code or sample model downloads.

Is this book still relevant given updates to Power BI since 2019?

The core DAX language and evaluation context mechanics covered here have not changed in ways that invalidate the content. Some newer functions introduced after publication will not appear, but the fundamental patterns remain accurate.

Does the book cover DAX in Excel Power Pivot as well?

The examples are framed around Power BI, but DAX evaluation context is identical in Power Pivot and Analysis Services tabular, so most of the content transfers directly to those environments.

You might also like

πŸ“¬ Weekly Newsletter

Stay ahead of the curve

Get the best programming tutorials, data analytics tips, and tool reviews delivered to your inbox every week.

No spam. Unsubscribe anytime.