Contact us

Send
inqury

Knowledge base

home banner

bi@unija.com

  • Knowledge

  • Categories

October 9, 2020

X-functions in DAX

Author: Branka Trifunović

For Power BI version 2.76.5678.782 (December 2019).

X-functions in DAX are iterator functions. This means they are aware of rows. For example, function SUMX() calculates the sum of expression for each row separately. You can find more on row context in the article Row Context in Power BI and Context Transition in Power BI. Let’s look at the the most common x-functions.

SUMX()

Calculates the value of the expression for each row and returns the sum of all the rows.

Syntax

SUMX(Table, Expression)

Parameter Description
Table Name of the table
Expression Expression that is calculated for each row

Example

Table of sold products Sales with fields Price and Quantity.

We want to calculate total income from sold products. We can’t use SUM(), we have to calculate the product for each row separately and then sum the rows into final result. That is what SUMX() does.

SUMX_Example = SUMX(Sales, Sales[Price]*Sales[Quantity])

For mathematically fluent readers: SUMX() acts like dot product in this case.

AVERAGEX()

Calculates the value of the expression for each row and returns the average of all the rows.

Syntax

AVERAGEX (Table, Expression)

Parameter Description
Table Name of the table
Expression Expression, evaluated for each row

Example

AVERAGEX_Example = AVERAGEX(Sales, Sales[Price]*Sales[Quantity])

Example calculates the product of Price and Quantity column in Sales table for each row and returns the average of all the rows.

MINX()

Calculates the value of the expression for each row and returns the lowest value.

Syntax

MINX(Table, Expression)

Parameter Description
Table Name of the table
Expression Expression, evaluated for each row

Example

MINX_Example = MINX(Sales, Sales[Price]*Sales[Quantity])

Example calculates the product of Price and Quantity column in Sales table for each row and returns the minimum of all values.

MAXX()

Calculates the value of the expression for each row and returns the highest value.

Syntax

MAXX(Table, Expression)

Parameter Description
Table Name of the table
Expression Expression, evaluated for each row

Example

MAXX_Example = MAXX(Sales, Sales[Price]*Sales[Quantity])

Example calculates the product of Price and Quantity column in Sales table for each row and returns the maximum of all values.

COUNTX()

Returns the number of non-empty rows in a column or number of non-empty result of the expression.

Syntax

COUNTX(Table, Expression)

Parameter Description
Table Name of the table
Expression Expression, evaluated for each row

Example

COUNTX_Example = COUNT(Sales, Sales[Price]*Sales[Quantity])

Example calculates the product of Price and Quantity column in Sales table for each row and returns the number of non-empty results.

CONCATENATEX ()

Calculates the value of expression for each row and returns concatenated values.

Syntax

CONCATENATEX (Table, Expression, [Delimiter])

Parameter Description
Table Name of the table
Expression Expression, evaluated for each row
Delimiter Delimiter used to separate expression (optional)

Example

Table Customers contains columns FirstName and LastName.

We use CONCATENATEX() function to get a list of all the customers.

CONCATENATEX_Example = CONCATENATEX(Customers, [FirstName] & ” ” & [LastName], “,”)

Function returns “Craig Ferguson, James May”.

 

Index