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)

Repeating counter with criteria

When it comes to data analysis, counting things is fundamental. DAX includes a default count aggregation, as well as the COUNT, COUNTA, COUNTX, and COUNTAX functions. However, there will be situations where you'll desire a counter that operates differently from normal count operations. In these circumstances, you'll wish to have more of an index that starts over when you're given specific criteria. A good example of this is consecutive wins. Your consecutive wins count increments by one for every game that you win. However, once you lose a game, your consecutive wins count starts over. Thus, you can imagine a dataset that holds a historical record of wins and losses. A counter that keeps track of consecutive wins but starts over once there is a loss would be necessary to determine the longest streak.

This recipe implements a counter...