Foreword Introduction to the second edition Introduction to the first edition Chapter 1 What is DAX? Understanding the data model Understanding the direction of a relationship DAX for Excel users Cells versus tables Excel and DAX: Two functional languages Iterators in DAX DAX requires theory DAX for SQL developers Relationship handling DAX is a functional language DAX as a programming and querying language Subqueries and conditions in DAX and SQL DAX for MDX developers Multidimensional versus Tabular DAX as a programming and querying language Hierarchies Leaf-level calculations DAX for Power BI users Chapter 2 Introducing DAX Understanding DAX calculations DAX data types DAX operators Table constructors Conditional statements Understanding calculated columns and measures Calculated columns Measures Introducing variables Handling errors in DAX expressions Conversion errors Arithmetic operations errors Intercepting errors Generating errors Formatting DAX code Introducing aggregators and iterators Using common DAX functions Aggregation functions Logical functions Information functions Mathematical functions Trigonometric functions Text functions Conversion functions Date and time functions Relational functions Conclusions Chapter 3 Using basic table functions Introducing table functions Introducing EVALUATE syntax Understanding FILTER Introducing ALL and ALLEXCEPT Understanding VALUES , DISTINCT , and the blank row Using tables as scalar values Introducing ALLSELECTED Conclusions Chapter 4 Understanding evaluation contexts Introducing evaluation contexts Understanding filter contexts Understanding the row context Testing your understanding of evaluation contexts Using SUM in a calculated column Using columns in a measure Using the row context with iterators Nested row contexts on different tables Nested row contexts on the same table Using the EARLIER function Understanding FILTER , ALL , and context interactions Working with several tables Row contexts and relationships Filter context and relationships Using DISTINCT and SUMMARIZE in filter contexts Conclusions Chapter 5 Understanding CALCULATE and CALCULATETABLE Introducing CALCULATE and CALCULATETABLE Creating filter contexts Introducing CALCULATE Using CALCULATE to compute percentages Introducing KEEPFILTERS Filtering a single column Filtering with complex conditions Evaluation order in CALCULATE Understanding context transition Row context and filter context recap Introducing context transition Context transition in calculated columns Context transition with measures Understanding circular dependencies CALCULATE modifiers Understanding USERELATIONSHIP Understanding CROSSFILTER Understanding KEEPFILTERS Understanding ALL in CALCULATE Introducing ALL and ALLSELECTED with no parameters CALCULATE rules Chapter 6 Variables Introducing VAR syntax Understanding that variables are constant Understanding the scope of variables Using table variables Understanding lazy evaluation Common patterns using variables Conclusions Chapter 7 Working with iterators and with CALCULATE Using iterators Understanding iterator cardinality Leveraging context transition in iterators Using CONCATENATEX Iterators returning tables Solving common scenarios with iterators Computing averages and moving averages Using RANKX Changing calculation granularity Conclusions Chapter 8 Time intelligence calculations Introducing time intelligence Automatic Date/Time in Power BI Automatic date columns in Power Pivot for Excel Date table template in Power Pivot for Excel Building a date table Using CALENDAR and CALENDARAUTO Working with multiple dates Handling multiple relationships to the Date table Handling multiple date tables Understanding basic time intelligence calculations Using Mark as Date Table Introducing basic time intelligence functions Using year-to-date, quarter-to-date, and month-to-date Computing time periods from prior periods Mixing time intelligence functions Computing a difference over previous periods Computing a moving annual total Using the right call order for nested time intelligence functions Understanding semi-additive calculations Using LASTDATE and LASTNONBLANK Working with opening and closing balances Understanding advanced time intelligence calculations Understanding periods to date.
The Definitive Guide to DAX : Business Intelligence for Microsoft Power BI, SQL Server Analysis Services, and Excel