Short for Data Analysis Expressions, the formula language you write measures, calculated columns and row-level security rules in, within tabular semantic models in Power BI, Excel Power Pivot or Analysis Services.
Also called Data Analysis Expressions.
Read more: Microsoft Learn
In the Ultra Transcenders books
Each book explains DAX in context, with comparison tables and the common traps.
Terms in this definition
- RLS
Row-level security: filtering the data each person can see down to permitted rows. Power BI models apply it through DAX rules on roles, which bind just Viewers and anyone holding Read or Build; Fabric Warehouse instead uses a T-SQL policy that calls a predicate function.
- Power BI
Microsoft's analytics and reporting service. It reaches data held on-premises through the on-premises data gateway.
- PIVOT
A SQL clause that turns each distinct value of a column into its own column, aggregating the data along the way.
UNPIVOTreverses it. - Analysis Services
VertiPaq, Microsoft's in-memory analytics engine, sits underneath every Power BI semantic model and is likewise available as Azure Analysis Services or SQL Server Analysis Services. Tools connect to it over XMLA, using its client libraries.
Related terms
- ADDCOLUMNS
A DAX function that takes a table and hands it back with extra computed columns appended, working out each new expression row by row while keeping every existing column.
- ALL
A DAX function that ignores any filters and gives back every row of a table or every value of the named columns. Used within CALCULATE, it works as a modifier that clears filters, although REMOVEFILTERS states that intent more clearly where it is available.
- ALLEXCEPT
Clears every context filter from a table except the ones placed on columns you list. In this DAX function, the first argument must be a base table and the rest must be columns belonging to it.
- ALLSELECTED
Useful for showing visual totals, this DAX function discards filters that come from a visual's row and column headers yet respects outside filters such as slicers; ALL, by comparison, would clear the slicer filters as well.
- AVERAGE
A DAX function giving the mean of a single numeric column; blank cells are skipped while zeros are included. To average a calculation worked out for each row, AVERAGEX is used instead.
- AVERAGEX
Returns the mean of an expression after computing it once for each row in a table; if the table has no rows, this DAX iterator gives BLANK.
- Best Practice Analyzer
A prebuilt notebook you can launch for any semantic model in the Power BI service. It scores your design on over 60 checks covering speed, DAX quality, avoiding errors, upkeep and formatting, and running it calls for Build rights plus a Fabric-backed workspace.
- BLANK
DAX uses BLANK to mean no value at all. It resembles NULL in SQL but behaves more like an empty cell in Excel, so adding 20 to it returns 20; the BLANK function creates one and ISBLANK detects it.