COLLAPSE

Updated on

COLLAPSE is a DAX function that retrieves a context with removed detail levels compared to the current context, allowing navigation up hierarchies and calculation at a coarser level of detail.

Syntax

COLLAPSE(
   Expression,
   Axis,
   [ Column, ... ],
   N
)
Argument Properties Description
Expression Optional The expression to be evaluated in the new context.
Axis Optional An axis reference.
Column Optional, Repeatable A column in the data grid.
N Optional The number of levels to collapse. If omitted, the default value is 1.

Return Values

For versions that perform both navigation and calculation, the function returns the value of the expression in the new context after navigating to a new level. For versions that perform navigation only, the function modifies the evaluation context by navigating to a new level.

Remarks

  • This function can be used only in visual calculations.
  • The navigation-only versions of the function can be used inside the CALCULATE function.
  • The levels of the hierarchy are determined by all columns in each axis referenced by the axis reference.
  • When columns are specified, the axes are determined by including each column’s axis the first time it is encountered.
  • When N is specified, the function navigates up the hierarchy N levels from the current level or the topmost level, whichever comes first.
  • When multiple columns are specified, the function navigates up the hierarchy until it reaches the first level at which none of the specified columns is present.
  • Navigation begins at the current cell in the data matrix, ascending up the hierarchy. If a specified column is at a level lower than the current cell, it will be disregarded.

Example

Given a table that summarizes the total sales for a hierarchy with levels for total, year, quarter and month, the following DAX calculations fetch the value of [SalesAmount] at the parent level, the grandparent level, and the year or self level, respectively.

ParentValue = COLLAPSE([SalesAmount], ROWS)
GrandParentValue = COLLAPSE([SalesAmount], ROWS, 2)
QuarterOrSelfValue = COLLAPSE([SalesAmount], [Month])

The screenshot below shows the matrix with the three visual calculations.

DAX visual calculation

Other functions related to COLLAPSE are:

Contribute » | Contributors: Rick de Groot

2023-2024 © BI Gorilla. All rights are reserved. Information from Microsoft docs is property of Microsoft Corp. | Privacy Policy