Multilevel, numeric, Boolean, and date attribute dimensions can have duplicate level 0 members. For example, associated with a Product dimension, you can have a Size attribute dimension with two levels. Level 1 categorizes sizes by men or by women. The level 0 members (attributes) are the actual sizes. You can have a member named 8 under Women and member named 8 under Men.
When an attribute is part of a multilevel numeric, Boolean, or date attribute dimension, the source data must include columns for all generations or levels of the attribute dimension. In the rules file, you must make copies of all fields that comprise the levels of the attribute dimension. Define the first set of attribute fields to build the attribute dimension. Define the second set of attribute fields to associate the attributes with the appropriate base dimension members. To ensure association with the correct attribute, indicate the parent field for the attribute field by making a copy of the parent field and setting the copy of the parent field as the field type Attribute Parent.
The position of the fields in the rules file is important.
Place the copied attribute dimension field or fields that define the association immediately to the right of the field for the members of the base dimension.
For a multilevel attribute dimension, place the attribute parent field immediately to the left of the field that is the child of the attribute parent.
The following steps describe how to define the fields in the rules file to build a multilevel attribute dimension and associate its members with members of its base dimension. This example uses the level references build method.
In the rules file, in field 1 and field 2, define the attribute dimension fields in the same way in which you define standard dimensions; specify type (level or generation), number, and dimension name.
Essbase uses field1 and field2 to build the attribute dimension.
Define the fields for building the base dimension.
In the following example, you are defining the level 0 and level 1 fields for the Product dimension. Figure 83, Defining Multilevel Attribute Dimensions Before Adding the Association Fields shows the fields of the rules file at this stage.
To define the association, make a copy of the field that contains the level 0 attribute.
In the current example, make a copy of field 1.
Use the attribute dimension name as the field type and specify the generation or level number of the member of the base dimension with which Essbase associates the attribute; for example, Size0.
Move the new field immediately to the right of the field for the base dimension with which Essbase associates the attribute.
In the current example, move the new field to the right of the field Level0, Product.
Make a copy of the field containing the parent of the attribute field.
In the current example, make a copy of field 2.
Set the field type of the new field as Attribute Parent and specify the generation or level number of the base member with which you want Essbase to associate the attribute; for example, ATTRPARENT0.
Move the ATTRPARENT field immediately to the left of the attribute association field that you created in step 3.
As shown in Figure 84, Source Data and Rules File for Building a Multilevel Attribute Dimension, the rules file now contains the field definitions to build the attribute dimension Size and to associate the members of Size with the appropriate members of the base dimension Product.
When you run a dimension build with the data shown in Figure 84, Source Data and Rules File for Building a Multilevel Attribute Dimension, Essbase builds the Size attribute dimension and associates its members with the appropriate members of the base dimension. Figure 85, Multilevel Attribute Dimension shows the updated outline.