Essbase Generations and Levels

Many Essbase functions identify a member in the
database by its position in the database outline. The outline structure represents
a hierarchical tree; every dimension represents a subsection of the database
tree. Generations and levels provide position references for all database
members within the tree. Position references are required because many applications
must be able to determine the location of members within the database structure.

The terms “generation” and “level” denote the distance from either the
“root” or the “leaves” of the dimension. Thus, you can determine the location
of any member within a database tree. You can also specify relationships between
groups of related members.

Generations specify the distance of members from the root of their dimension.
All members in a database that are the same number of branches from their
root have the same generation number. The dimension is generation 1, its children
are generation 2, and so on.

Levels measure the number of branches between a member and the lowest
member below it, that is, the number of branches between a member and the
“leaf” of its hierarchy within the database structure. Level 0 specifies the
bottom-most members of a dimension and thus provides ready access to the raw
data stored in a database. Leaf members are level 0, then their parents are
level 1, and so on up the hierarchy.

You might note that when all sibling members have the same generation
number but not necessarily the same level number.

For example, the members in this hierarchy:


have the following generation and level numbers:

Dim1    Gen 1, Level 2
 m11    Gen 2, Level 1
  m111  Gen 3, Level 0
  m112  Gen 3, Level 0
 m12    Gen 2, Level 1
  m121  Gen 3, Level 0
  m122  Gen 3, Level 0
 m13    Gen 2, Level 0