Using Level References

In a bottom-up data source, each record defines a single member of a dimension. The definition begins with the most specific information about the member and provides progressively more general information. A typical record specifies the name of the new member, then the name of its parent, then its parent’s parent, and so forth.

Levels are defined from a bottom-up hierarchical structure. For example, in the outline in Figure 69, Generation and Level Numbers, the lowest-level members are at the bottoms of the branches of the Product dimension.

Figure 69. Generation and Level Numbers

This image shows the generation number and level number for each member.

To build the outline in Figure 69, Generation and Level Numbers, you can use the following bottom-up data source:

100-10-12  100-10  100
100-20-12  100-20  100

In a level reference build, the lowest-level members are sequenced left to right. Level 0 members are in the first field, level 1 members are in the second field, and so on. This organization is the opposite of how data is presented for generation references (top-down).

In the following example, the rules file uses the level reference build method to add members to the Product dimension. The rules file specifies the level number and the field type for each field of the data source (see Setting Field Type Information). The first column of the data source contains new members (600-10-11, 600-20-10, and 600-20-18). The second column contains the parents of the new members (600-10 and 600-20), and the third column contains parents of the parents (600).

Figure 70. Rules File for Level Build

This image illustrates a rules file for a level build, as described in the text preceding the image.

For example, to build the tree in Figure 71, Levels, use Figure 70, Rules File for Level Build to set up the data source (LEVEL.TXT) and the rules file (LEVEL.RUL).

Figure 71. Levels

This image shows the new members that are created during the level build.

Dealing with Empty Fields

When you use the level references build method, you can choose to process null values. Null processing specifies what actions Essbase takes when it encounters empty fields, also know as null fields, in the data source.

If null processing is not enabled, Essbase rejects all records with null values and writes an error to the error log.

If null processing is enabled, Essbase processes nulls in the following ways: