dax_functions1,2,3
dax_functions1,2,3
DAX Functions
DAX stands for Data Analysis Expressions. DAX is a formula language and is a collection of
functions, operators, and constants that can be used in a formula or expression to calculate
and return one or more values. DAX is the formula language associated with the Data Model
of Microsoft Excel Power Pivot and with Microsoft Power BI.
DAX is not a programming language, however it is a formula language that allows the users
to define custom calculations in calculated columns and calculated fields (also known as
measures). DAX helps you create new information from the existing data in your Data Model.
DAX formulas enable you to perform data modeling, data analysis, and use the results for
reporting and decision making.
For an in-depth understanding of DAX, refer to the tutorial – DAX in this tutorials library.
DAX functions enable you to perform commonly used data calculations on the Data Model.
Some of the DAX functions have same names and functionality as that of Excel functions but
have been modified to use DAX data types and to work with tables and columns, as highlighted
in the next section. DAX has additional functions that are designed to work with relational
data and perform dynamic aggregation.
DAX functions play an important role in the usage of DAX for data modeling and reporting.
1
DAX Functions
You need to understand DAX parameter naming conventions so as to understand the syntax
of the DAX functions and use the values for the required parameters correctly.
2
DAX Functions
o DAX Aggregation Functions
o DAX Time Intelligence Functions
Refer to the chapter - DAX Date and Time functions for details.
Refer to the chapter - DAX Math and Trig functions for details.
Refer to the chapter - DAX Parent and Child functions for details.
4
DAX Functions
In this tutorial, a common function description structure is used for all the DAX functions so
that you can read and interpret the DAX functions effectively.
5
2. DAX FUNCTIONS ─ DAX PARAMETERDAX
NAMING
Functions
CONVENTIONS
DAX has standard parameter names to facilitate the usage and understanding of the DAX
functions. Further, you can use certain prefixes to the parameter names. If the prefix is clear
enough, you can use the prefix itself as the parameter name.
To understand the syntax of the DAX functions and to use data values appropriately for the
relevant DAX function parameters, you need to understand DAX parameter naming
conventions.
Parameter Names
Following are the DAX standard parameter names –
Parameter
Name Description
Any DAX expression that returns a single scalar value, where the
expression
expression is to be evaluated multiple times (for each row/context).
Any DAX expression that returns a single scalar value where the
value
expression is to be evaluated exactly once before all other operations.
6
DAX Functions
For example,
You can omit the parameter name and use only the prefix, if the prefix is clear enough to
describe the parameter. Omitting the parameter name and using only prefix can sometimes
help in avoiding the clutter during reading.
For example, Consider DATE (Year_value, Month_value, Day_value). You can omit the
parameter name – value, that is repeated thrice and write it as DATE (Year, Month, Day). As
seen, by using only the prefixes, the function is more readable. However, sometimes the
parameter name and the prefix have to be present for clarity.
For example, Consider Year_columnName. The parameter name is ColumnName and the
prefix is Year. Both are required to make the user understand that the parameter requires a
reference to an existing column of years.
7
3. DAX FUNCTIONS ─ DESCRIPTION STRUCTURE
DAX Functions
If you have to use a DAX function in a DAX formula, you need to understand the function in
detail. You should know the syntax of the function, the parameter types, what the function
returns, etc.
To enable you to understand how to read and interpret the DAX functions, a uniform function
description structure is used in this tutorial.
• The different types of DAX functions are grouped by the type name of the DAX
functions as chapters.
•
• Each of these chapters provides a brief description of the utility of the respective type
of DAX functions.
•
• The brief description will be followed by the list of DAX functions corresponding to that
chapter (Type/Category of DAX functions).
•
• Each DAX function name is hyperlinked to DAX function details that have the following
DAX function description structure:
•
o Description
o Syntax
o Parameters
o Return Value
o Remarks
o Example
The following sections explain each of these headings that appear in each DAX function
explanation.
Description
In the Description section, you will learn what the DAX function is about and where it can be
used.
If the DAX function is introduced in Excel 2016, the same will be mentioned here. (Rest of the
DAX functions exist in Excel 2013.)
Syntax
In the Syntax section, you will learn the exact function name and the respective parameters.
8
DAX Functions
• Each parameter follows standard DAX parameter naming convention and is enclosed
in angle brackets.
•
• If a parameter is optional, it is further enclosed in square brackets.
•
• The parameters are separated by commas.
•
• Ellipses … are used to show an optional number of repetitions of parameters.
•
• The function syntax ends with closing parenthesis.
Example
Parameters
In the Parameters section, each of the parameters of the specific DAX function is listed in a
table with its description. For example, the parameters of the above example DAX function
SELECTCOLUMNS is listed in the following table.
Parameter Description
Return Value
In the Return Value section, you will learn about what value the DAX function will return and
its data type.
9
DAX Functions
Remarks
In the Remarks section, you will learn about any extra information that you need to know
about the usage of the DAX function. You will also understand the potential errors and the
reasons.
Example
An example of the usage of the DAX function is given in this section.
Note: When you write DAX functions with the data values for the parameters, you will follow
the naming conventions as given below:
• A Column name is specified as it appears in the Data Model with square brackets
enclosing it.
o It is recommended to use fully qualified names for columns, i.e. a column name is
prefixed with the table name that contains it.
• A DAX function can return a column or table of values, in which case, it needs to be
used as a parameter of another DAX function that requires a column or table.
10