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:
Dim1 m11 m111 m112 m12 m121 m122 m13
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