Book Image

DAX Cookbook

By : Greg Deckler
Book Image

DAX Cookbook

By: Greg Deckler

Overview of this book

DAX provides an extra edge by extracting key information from the data that is already present in your model. Filled with examples of practical, real-world calculations geared toward business metrics and key performance indicators, this cookbook features solutions that you can apply for your own business analysis needs. You'll learn to write various DAX expressions and functions to understand how DAX queries work. The book also covers sections on dates, time, and duration to help you deal with working days, time zones, and shifts. You'll then discover how to manipulate text and numbers to create dynamic titles and ranks, and deal with measure totals. Later, you'll explore common business metrics for finance, customers, employees, and projects. The book will also show you how to implement common industry metrics such as days of supply, mean time between failure, order cycle time and overall equipment effectiveness. In the concluding chapters, you'll learn to apply statistical formulas for covariance, kurtosis, and skewness. Finally, you'll explore advanced DAX patterns for interpolation, inverse aggregators, inverse slicers, and even forecasting with a deseasonalized correlation coefficient. By the end of this book, you'll have the skills you need to use DAX's functionality and flexibility in business intelligence and data analytics.
Table of Contents (15 chapters)

Finding childless nodes

DAX has a number of parent-child functions, including PATH, PATHCONTAINS, PATHITEM, PATHITEMREVERSE, and PATHLENGTH. These functions help us analyze data presented in the format of a parent-child hierarchy. While the parent-child functions help us determine such things as the entire lineage of rows of parent-child hierarchy data, the number of levels within a hierarchy, and who is the nth level down in the hierarchy, there is some useful functionality that is not included. For example, it can be useful to know the top and bottom levels of the hierarchy or, essentially, where hierarchies begin and end. Determining the top level of a hierarchy is very easy: we simply need to filter for the row or rows that have no parent. However, finding the bottom of the hierarchy, nodes that have no children, is somewhat more difficult since these may occur at any level...