# TopSum (MDX)

Sorts a set and returns the topmost elements whose cumulative total is at least a specified value.

## Syntax

```
TopSum(Set_Expression, Value, Numeric_Expression)
```

## Arguments

*Set_Expression*

A valid Multidimensional Expressions (MDX) expression that returns a set.

*Value*

A valid numeric expression that specifies the value against which each tuple is compared.

*Numeric_Expression*

A valid numeric expression that is typically a Multidimensional Expressions (MDX) expression that returns a measure.

## Remarks

The **TopSum** function calculates the sum of a specified measure evaluated over a specified set, sorting the set in descending order. The function then returns the elements with the highest values whose total of the specified numeric expression is at least the specified value. This function returns the smallest subset of a set whose cumulative total is at least the specified value. The returned elements are ordered largest to smallest.

Important

Like the BottomSum function, the **TopSum** function always breaks the hierarchy.

## Example

The following example returns, for the Bike category, the smallest set of members of the City level in the Geography hierarchy in the Geography dimension whose cumulative total using the Reseller Sales Amount measure is at least the sum of 6,000,000 (beginning with the members of this set with the largest number of sales).

```
SELECT [Measures].[Reseller Sales Amount] ON 0,
TopSum
({[Geography].[Geography].[City].Members}
, 6000000
, [Measures].[Reseller Sales Amount]
) ON 1
FROM [Adventure Works]
WHERE([Product].[Product Categories].Bikes)
```