ENUM_LEVEL

ENUM_LEVEL("Level1" [, "Level2", ...] [, "Order"])

In Filtering & data shaping

The ENUM_LEVEL function iterates through the values of the specified levels and returns each value with a number assigned in ascending or descending order according to the sequence in the dimension management.

Use this function when you need to number level values by their position in dimension management, for example to create index columns or define ordering rules independent of measure values.

Parameters

LevelLevel nameRequired
One or more levels whose values are enumerated, specified in double quotes (e.g. "Year", "Country").
OrderKeywordOptional
Whether to enumerate in ascending or descending order. Default: "ASC".
  • "ASC": Enumerates in ascending order according to the sequence in dimension management. This is the default.
  • "DESC": Enumerates in descending order (last value in dimension management gets number 1).

Watch out

  • If multiple levels are passed to the function, the alphabetical order of the dimension name and the hierarchy of levels within that dimension will determine which level takes precedence in the event of a tie.

Examples

Enumeration along a single level (ASC and DESC)

This example numbers each year value according to its position in dimension management, first ascending (default) then descending.

Formula: ENUM_LEVEL("Year")

YearENUM_LEVEL Result
20251
20262
20273
20284

Formula: ENUM_LEVEL("Year", "DESC")

YearENUM_LEVEL Result
20254
20263
20272
20281

Enumeration across multiple levels

When multiple levels are specified, the alphabetical order of dimension names determines which level takes precedence in the combined enumeration.

Dimensions:

Time → Year

Location → Country

Formula: ENUM_LEVEL("Year", "Country")

YearCountryENUM_LEVEL Result
2025France1
2026France2
2027France3
2028France4
2025Germany5
2026Germany6
2027Germany7
2028Germany8

In this example "Location" dimension is prioritised over "Time" which starts enumeration with rows having value "France" over "Germany". Within the rows having same value, the "Year" level is used to further break the tie.

See also

ENUM
When you want to enumerate rows by measure value rather than by level order in dimension management.
FINDFIRST
When you want to select one value per group rather than assign ranking numbers.
Was this page helpful?