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)

Simulating recursion

Recursion is a common coding pattern that involves a calculation being defined in terms of itself. While this may seem bizarre to non-coders, recursion is an extremely powerful coding pattern. Perhaps the most commonly known recursive example is the Fibonacci sequence. The Fibonacci sequence is defined like so: after the two starting numbers, 0 and 1, each number is the sum of the two preceding numbers. Mathematically, Fibonacci numbers are denoted as Fn and are defined formally as follows:

Regrettably, It is impossible to perform true recursion in DAX. In fact, DAX has logic that specifically prevents any type of recursive behavior. However, there are calculations that require recursive behavior, and thus this recipe provides a method for simulating recursion in DAX. Specifically, this recipe calculates the first six Fibonacci numbers.

...