- DAX Functions - Other
- DAX Functions - Text
- DAX Functions - Statistical
- DAX Functions - Parent & Child
- Math & Trigonometric Functions
- DAX Functions - Logical
- DAX Functions - Information
- DAX Functions - Date and Time
- DAX Functions - Time Intelligence
- DAX Functions - Filter
- DAX Functions - Aggregation
- Description Structure
- DAX Parameter Naming Conventions
- DAX Functions - Introduction
- DAX Functions - Home
DAX Functions Useful Resources
Selected Reading
- Who is Who
- Computer Glossary
- HR Interview Questions
- Effective Resume Writing
- Questions and Answers
- UPSC IAS Exams Notes
DAX Functions - Quick Guide
DAX Functions - Introduction
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 modepng, 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 pbrary.
What is a DAX Function?
A DAX function is an inbuilt function provided in the DAX language to enable you to perform various actions on the data in the tables in your Data Model.
DAX functions enable you to perform commonly used data calculations on the Data Model. Some of the DAX functions have same names and functionapty as that of Excel functions but have been modified to use DAX data types and to work with tables and columns, as highpghted 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 modepng and reporting.
Excel Functions vs. DAX Functions
There are certain similarities between the Excel functions and the DAX functions and there are certain differences too. Following are the similarities and differences between Excel functions and DAX functions −
Similarities Between Excel Functions and DAX Functions
Certain DAX functions have the same name and the same general behavior as Excel functions.
DAX has lookup functions that are similar to the array and vector lookup functions in Excel.
Differences Between Excel Functions and DAX Functions
DAX functions have been modified to take different types of inputs and some of the DAX functions might return a different data type. Hence, you need to understand the usage of these functions separately though they have the same name.
You cannot use DAX functions in an Excel formula or use Excel functions in DAX formula, without the required modifications.
Excel functions take a cell reference or a range of cells as a reference. DAX functions never take a cell reference or a range of cells as a reference, but instead take a column or table as a reference.
Excel date and time functions return an integer that represents a date as a serial number. DAX date and time functions return a datetime data type that is in DAX but not in Excel.
Excel has no functions that return a table, but some functions can work with arrays. Many of the DAX functions can easily reference complete tables and columns to perform calculations and return a table or a column of values. This abipty of DAX adds power to the Power Pivot, Power View and Power BI, where DAX is used.
DAX lookup functions require that a relationship is estabpshed between the respective tables.
DAX Parameter Naming Conventions
DAX has standard parameter names to faciptate 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.
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.
Refer to the chapter −
for details.Types of DAX Functions
DAX supports the following types of functions.
DAX Table-Valued Functions
DAX Filter Functions
DAX Aggregation Functions
DAX Time Intelpgence Functions
DAX Date and Time Functions
DAX Information Functions
DAX Logical Functions
DAX Math and Trig Functions
DAX Other Functions
DAX Parent and Child Functions
DAX Statistical Functions
DAX Text Functions
DAX Description Structure Functions
DAX Table-Valued Functions
Many DAX functions take tables as input or output tables or do both. These DAX functions are called DAX table-valued functions. Because a table can have a single column, DAX table-valued functions also take single columns as inputs. You have the following types of DAX table-valued functions −
DAX Aggregation functions
DAX Filter functions
DAX Time intelpgence functions
DAX Aggregation Functions
DAX Aggregation functions aggregate any expression over the rows of a table and are useful in calculations.
Refer to the chapter −
for details.DAX Filter Functions
DAX Filter functions return a column or a table or values related to the current row. You can use DAX Filter functions to return specific data types, look up values in related tables and filter by related values. DAX Lookup functions work by using tables and relationships between them. DAX Filter functions enable you to manipulate the data context to create dynamic calculations.
Refer to the chapter −
for details.DAX Time Intelpgence Functions
DAX Time Intelpgence functions return a table of dates or the use a table of dates to calculate an aggregation. These DAX functions help you create calculations that support the needs of Business Intelpgence analysis by enabpng you to manipulate data using time periods, including days, months, quarters, and years.
Refer to the chapter −
for details.DAX Date and Time Functions
DAX Date and Time functions are similar to the Excel date and time functions. However, DAX Date and Time functions are based on the datetime data type of DAX.
Refer to the chapter −
for details.DAX Information Functions
DAX Information functions look at the cell or row that is provided as an argument and tell you whether the value matches the expected type.
Refer to the chapter −
for details.DAX Logical Functions
DAX Logical Functions return information about values in an expression. For example, DAX TRUE function lets you know whether an expression that you are evaluating returns a TRUE value.
Refer to the chapter −
for details.DAX Math and Trig Functions
DAX Mathematical and Trigonometric functions are very similar to the Excel mathematical and trigonometric functions.
Refer to the chapter −
for details.DAX Parent and Child Functions
DAX Parent and Child functions are useful in managing data that is presented as a parent/child hierarchy in the Data Model.
Refer to the chapter −
for details.DAX Statistical Functions
DAX Statistical functions are very similar to the Excel Statistical functions.
Refer to the chapter −
for details.DAX Text Functions
DAX Text functions work with tables and columns. With DAX Text functions, you can return part of a string, search for text within a string or concatenate string values. You can also control the formats for dates, times, and numbers.
Refer to the chapter −
for details.DAX Other Functions
These DAX functions perform unique actions that cannot be defined by any of the categories most other functions belong to.
Refer to the chapter −
for details.DAX Function Description Structure
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.
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.
Refer to the chapter −
for details.DAX Parameter Naming Conventions
DAX has standard parameter names to faciptate 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 −
Sr.No. | Parameter Name & Description |
---|---|
1 |
expression Any DAX expression that returns a single scalar value, where the expression is to be evaluated multiple times (for each row/context). |
2 |
value Any DAX expression that returns a single scalar value where the expression is to be evaluated exactly once before all other operations. |
3 |
table Any DAX expression that returns a table of data. |
4 |
tableName The name of an existing table using standard DAX syntax. It cannot be an expression. |
5 |
columnName The name of an existing column using standard DAX syntax, usually fully quapfied. It cannot be an expression. |
6 |
name A string constant that will be used to provide the name of a new object. |
7 |
order An enumeration used to determine the sort order. |
8 |
ties An enumeration used to determine the handpng of tie values. |
9 |
type An enumeration used to determine the data type for PathItem and PathItemReverse. |
Prefixing Parameter Names or Using the Prefix Only
You can quapfy a parameter name with a prefix −
The prefix should be descriptive of how the argument is used.
The prefix should be in such a way that ambiguous reading of the parameter is avoided.
For example,
Result_ColumnName − Refers to an existing column used to get the result values in the DAX LOOKUPVALUE () function.
Search_ColumnName − Refers to an existing column used to search for a value in the DAX LOOKUPVALUE () function.
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.
DAX Functions - Description Structure
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 utipty of the respective type of DAX functions.
The brief description will be followed by the pst of DAX functions corresponding to that chapter (Type/Category of DAX functions).
Each DAX function name is hyperpnked to DAX function details that have the following DAX function description structure −
Description
Syntax
Parameters
Return Value
Remarks
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.
DAX function name is given in UPPERCASE letters.
DAX function name is followed by opening parenthesis.
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.
Elppses … 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 psted in a table with its description. For example, the parameters of the above example DAX function SELECTCOLUMNS is psted in the following table.
Sr.No. | Parameter & Description |
---|---|
1 |
Table Table or a DAX expression that returns a table. |
2 |
Name The name given to the column, enclosed in double quotes. |
3 |
scalar_expression DAX expression that returns a scalar value pke a column reference, integer, or string value. |
Return Value
In the Return Value section, you will learn about what value the DAX function will return and its data type.
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 Table name is specified as it appears in the Data Model. E.g. Sales.
A Column name is specified as it appears in the Data Model with square brackets enclosing it.
For example, [Sales Amount]
It is recommended to use fully quapfied names for columns, i.e. a column name is prefixed with the table name that contains it.
For example, Sales[Sales Amount]
If the table name contains spaces, it should be enclosed in single quotes.
For example, ‘East Sales’[Sales Amount]
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.
DAX Functions - Aggregation
DAX Aggregation functions aggregate any expression over the rows of a table and are useful in calculations.
Following are the DAX Aggregation functions −
DAX Functions - Filter
You can use DAX Filter functions to return specific data types, look up values in related tables and filter by related values. Lookup functions work by using tables and relationships between them. Filter functions enable you to manipulate data context to create dynamic calculations.
Following are the DAX Filter functions
DAX Functions - Time Intelpgence
DAX Time Intelpgence functions help you create calculations that support the needs of Business Intelpgence analysis by enabpng you to manipulate data using time periods, including days, months, quarters and years.
Following are the DAX Time Intelpgence functions
DAX Functions - Date and Time
DAX Date and Time functions are similar to the Excel date and time functions. However, DAX date and time functions are based on the DAX datetime data type.
Following are the DAX Date and Time functions −
DAX Functions - Information
DAX Information functions look at the value or column that is provided as an argument and tell you whether the value matches the expected type.
Following are the DAX Information functions −
DAX Functions - Logical
DAX Logical functions return logical values (TRUE/FALSE) based on the logical operations performed on the relevant parameters.
Following are the DAX Logical functions −
Mathematical & Trigonometric Functions
DAX Mathematical and Trigonometric functions are very similar to the Excel mathematical and trigonometric functions.
Following are the DAX Math and Trig functions −
DAX Functions - Parent and Child
DAX Parent and Child functions are useful in managing data that is presented as a parent/child hierarchy in the Data Model.
Following are the DAX Parent and Child functions −
DAX Functions - Statistical
DAX Statistical functions are very similar to Excel Statistical functions.
Following are the DAX Statistical functions −
DAX Functions - Text
DAX Text functions work with tables and columns. With DAX Text functions, you can return a part of a string, search for text within a string, or concatenate string values. You can also control the formats for dates, times, and numbers.
Following are the DAX Text functions −
DAX Functions - Other
These DAX functions perform unique actions that cannot be defined by any of the categories most other DAX functions belong to.
Following are the DAX Other functions −