Data analysis expressions
Data Analysis Expressions, or DAX, is the native formula and query language for Microsoft PowerPivot, Power BI Desktop and SQL Server Analysis Services Tabular models. DAX includes some of the functions that are used in Excel formulas, and additional functions that are designed to work with relational data and perform dynamic aggregation. It is, in part, an evolution of the Multidimensional Expression (MDX) language developed by Microsoft for Analysis Services multidimensional models (often called cubes) combined with Excel formula functions. It is designed to be simple and easy to learn, while exposing the power and flexibility of PowerPivot and SSAS tabular models.
Background
The Data Analysis expressions (DAX) language provides a specialized syntax for querying Analysis Services tabular model. DAX is NOT a programming language. DAX is primarily a formula language and is also a query language. You can use DAX to define custom calculations for Calculated Columns and for Calculated Fields (measures) in Analysis Services Tabular Model.
History
DAX was developed by the SQL Server Analysis Services team at Microsoft as part of Project Gemini and released in 2009 with the first version of the PowerPivot for Excel 2010 Add-in. Both DAX and MDX can be used to query PowerPivot and Tabular models, however only MDX may be used to query multidimensional SSAS models (cubes) in versions of SSAS up to SQL Server 2012 RTM. Future versions of SSAS (both multidimensional & tabular models) will support DAX natively. 2016 marks a significant improvement with the rapid adoption of Microsoft Power BI and SQL Server 2016. Power BI is a subscription-based self-service analytic tool and Power BI Desktop is a desktop analytic and report authoring application. SQL Server 2016 includes a new release of SQL Analysis Services Tabular with many improvements over previous versions. Enhancements to the DAX language in 2016 include support for calculated tables, automatic date table generation, variables and a total of 248 functions.
DAX Data Types
DAX can compute values for seven data types:
- Integer
- Real
- Currency
- Date (datetime)
- TRUE/FALSE (Boolean)
- String
- BLOB (binary large object)
DAX has a powerful type-handling system so that you do not have to worry much about data types. When you write a DAX expression, the resulting type is based on the type of the terms used in the expression and on the operator used. Type conversion happens automatically during the expression evaluation.
References
- "Data Analysis Expressions (DAX) Overview". MSDN Library. Microsoft. Retrieved 28 November 2012.
- Ferrari, Alberto; Russo, Marco (2015). The Definitive Guide to DAX: Business intelligence with Microsoft Excel, SQL Server Analysis Services, and Power BI. Microsoft Press. ISBN 9780735698352.
- Ferrari, Alberto; Russo, Marco (2014). DAX Patterns 2015. Loader. ISBN 9781505623635.
- Collie, Rob (2012). DAX Formulas for PowerPivot: The Excel Pro's Guide to Mastering DAX. Tickling Keys. ISBN 9781615473328.
- Collie, Rob (2015). Power Pivot and Power BI: The Excel User's Guide to DAX, Power Query, Power BI & Power Pivot in Excel 2010-2016 2nd Edition. Holy Macro! Books. ISBN 9781615470396.
- Russo, Marco; Ferrari, Alberto; Webb, Chris (2012). Microsoft SQL Server 2012 Analysis Services: The BISM Tabular Model. Microsoft. ISBN 9780735658189.
- Tennick, Art (2012). Practical PowerPivot & DAX Formulas for Excel 2010. McGraw Hill Professional. ISBN 9780071746854.
- learn-with-video-tutorials. "Analysis Services Tabular Model - video tutorials". www.learn-with-video-tutorials.com.