Adding a List of New Members
When you need to add new members to the Essbase outline, but the source data does not specify their ancestors, use one of the Add as dimension build methods: Add as sibling of matching string, Add as a sibling at the lowest level, or Add as child of.
Essbase provides the following dimension build methods for working with source data that does not specify parent members:
-
Add each new member as a sibling of the existing member whose text most closely matches its own.
-
Add each new member as a sibling of the lowest-level existing member.
-
Add all new members as children of a specified parent. See Adding Members to a Specified Parent.
After Essbase adds all new members to the outline, it may be necessary to move the new members into their correct positions using Outline Editor. See Positioning Dimensions and Members.
Note:
Essbase does not support concurrent attribute association with the Add as build methods.
Adding Members Based On String Matches
When you need to add new members to the Essbase outline but the source data does not specify their ancestors, you can design a dimension build rule that adds them as siblings to members with similar names, based on string matches. Use the Add as sibling of matching string dimension build method.
If you use this build method, when Essbase encounters a new member in the source, it scans the outline for a member name with similar text and adds the new member as a sibling of the member with the closest string match.
For example, the following text file of data contains two new members (100-11 and 200-22) to add to the Product dimension. The new members are similar to strings in the Product dimension: they contain three digits, one dash, and two digits.
100-11 Texas Sales 100 120 100
200-22 Texas Sales 111 154 180
The following hierarchy shows 100-11 added as a sibling of 100, and 200-22 added as a sibling of 200.
To recreate this example,
-
Import/build the Sample Basic cube, using the application workbook available from the gallery in the file catalog on the Essbase Server.
-
Create a tab-delimited data file like the following, name it
stringmatch.txt
, and upload it to the Sample Basic cube directory.100-11 Texas Sales 100 120 100 200-22 Texas Sales 111 154 180
-
On the Applications page, expand the application (Sample).
-
From the Actions menu, to the right of the cube name (Basic), launch the inspector.
-
Select the Scripts tab, and then click Rules.
-
Click Create and choose Dimension Build (Regular).
-
In the New Rule dialog,
-
Enter a rule name; for example, stringmatch.
-
For Source Type select File, click Catalog and navigate to
stringmatch.txt
.When you click Catalog, the file is expected to be located in the cube directory on the Essbase Server by default, so you must have already uploaded it using the Files section of the Essbase web interface. If the file is on your client machine, click File Browser to locate the file.
-
Leave the Header Record Number and Dimension Build Record Number fields as 0. Header records are not useful for dimension builds.
-
Change the Delimiter value from Comma to Tab.
-
Click Proceed.
-
The dimension build rule opens with undefined fields, and preview data (from the text file) populating the grid below the fields.
-
-
As this is a new rule, there are no dimensions associated yet.
- Click Dimensions.
- Select or type the dimension name Product, and click Add.
- Click Dimensions.
-
Now you need to define the build method and check other dimension build operational instructions. Click Product to edit the properties.
-
Change Build Method to Add as sibling of matching string, and leave the Member Name field underneath it blank.
Click OK.
-
Click the Dimension selector in Field 1, and select Product.
-
Leave the Type selector of Field 1 blank.
-
Select Fields 2-6. To do this, click on the inactive header area labeled Field 2, hold down Shift key, and click the Field 6 header area. Click Ignore.
As a result, this rule will only operate on the first field of each record. Ignoring fields can be helpful when you don't need to use every field in the source for your dimension build, yet you don't want to prepare different sources.
-
Verify the rule, then save and close. If there are any errors, see Requirements for Valid Dimension Build Rule Files.
-
Run the dimension build job.
-
View the outline, and inspect the children Product members 100 and 200 to confirm that the members were added.
Table 15-1 Summary of Adding Members Using String Matches
Field | Value | More Information |
---|---|---|
Product dimension |
Select the Add as sibling of matching string build method |
|
Field 1 (Product) |
|
|
Fields 2 through 6 |
Ignore the fields |
Adding Members as Siblings of the Lowest Level
When you need to add new members to the Essbase outline but the source data does not specify their ancestors, you can design a dimension build rule that adds them as siblings of the lowest-level existing member. Use the Add as sibling of lowest level dimension build method.
If you use this build method, when Essbase encounters a new member in the source data, it scans the outline for the level 0 branch of members and adds the new member(s) as a sibling of these members.
Note:
If the outline contains multiple groups of level 0 members, Essbase adds the new member(s) to the first group that it encounters.
For this dimension build example, assume you want to add A100-20 and A100-99 as siblings of the lowest level members in the Measures dimension.
Assume you want to use the following text data file to add the new members:
100-10 Texas A100-10 100 120 100
200-20 Texas A100-99 111 154 180
You can create the following rule file to build the dimensions using the Add as a sibling at the lowest level build method.
To recreate this example,
-
Import/build the Sample Basic cube, using the application workbook available from the gallery in the file catalog on the Essbase Server.
-
Create a tab-delimited data file like the following, name it
siblow.txt
, and upload it to the Sample Basic cube directory.100-10 Texas A100-10 100 120 100 200-20 Texas A100-99 111 154 180
-
On the Applications page, expand the application (Sample).
-
From the Actions menu, to the right of the cube name (Basic), launch the inspector.
-
Select the Scripts tab, and then click Rules.
-
Click Create and choose Dimension Build (Regular).
-
In the New Rule dialog,
-
Enter a rule name; for example, siblow.
-
For Source Type select File, click Catalog and navigate to
siblow.txt
.When you click Catalog, the file is expected to be located in the cube directory on the Essbase Server by default, so you must have already uploaded it using the Files section of the Essbase web interface. If the file is on your client machine, click File Browser to locate the file.
-
Leave the Header Record Number and Dimension Build Record Number fields as 0. Header records are not useful for dimension builds.
-
Change the Delimiter value from Comma to Tab.
-
Click Proceed.
-
The dimension build rule opens with undefined fields, and preview data (from the text file) populating the grid below the fields.
-
-
As this is a new rule, there are no dimensions associated yet.
- Click Dimensions.
- Select or type the dimension name Measures, and click Add.
- Click Dimensions.
-
Now you need to define the build method and check other dimension build operational instructions. Click Measures to edit the properties.
-
Change Build Method to Add as sibling of lowest level, and leave the Member Name field below it blank.
Click OK.
-
Click the Dimension selector in Field 3, and select Measures.
-
Leave the Type selector of Field 3 blank.
-
Select Fields 1 - 6. To do this, click on the inactive header area labeled Field 1, hold down Shift key, and click the Field 6 header area. Now hold the Control key and click field 3 to deselect it. Click Ignore.
As a result, this rule will only operate on the third field of each record. Ignoring fields can be helpful when you don't need to use every field in the source for your dimension build, yet you don't want to prepare different sources.
-
Verify the rule, then save and close. If there are any errors, see Requirements for Valid Dimension Build Rule Files.
-
Run the dimension build job.
-
View the outline, and inspect the children of Margin (in the Measures dimension) to confirm that the members were added.
Table 15-2 Summary of Adding Members as Siblings of the Lowest Level
Field | Value | More Information |
---|---|---|
Measures dimension |
Select the Add as sibling of lowest level build method |
|
Field 3 (Measures) |
|
|
Fields 1, 2, 4, 5, and 6 |
Ignore the fields |
You can ignore all fields of a specified column of the source data. See Ignoring Fields. |
Adding Members to a Specified Parent
When you need to add new members to the Essbase outline but the source data does not specify their ancestors, design a dimension build rule that adds them to a specified parent member. Use the Add as child of dimension build method to add all new members as children of a specified parent.
After Essbase adds all new members to the outline, you can review the added members and move or delete them in the outline.
For this dimension build example, assume you want to add 600-54 and 780-22 as children of an existing outline member, NewProducts.
Figure 15-6 Example for Adding Members as a Child of a Specified Parent
This use case calls for the Add as child of build method. In this build method, when Essbase encounters a new member in the source data, it adds the new member as a child of the parent name that you specify. The parent must be part of the outline before you start the dimension build.
To recreate this example,
-
Import/build the Sample Basic cube, using the application workbook available from the gallery in the file catalog on the Essbase Server.
-
Create a tab-delimited data file like the following, name it
sibpar.txt
, and upload it to the Sample Basic cube directory.600-54 Texas Sales 100 120 100 780-22 Texas Sales 111 154 180
-
Open the Sample Basic outline for editing in the Essbase web interface, and, to the Product dimension, add a member named NewProducts.
-
Verify and save the outline.
-
On the Applications page, expand the application (Sample).
-
From the Actions menu, to the right of the cube name (Basic), launch the inspector.
-
Select the Scripts tab, and then click Rules.
-
Click Create and choose Dimension Build (Regular).
-
In the New Rule dialog,
-
Enter a rule name; for example, sibpar.
-
For Source Type select File, click Catalog and navigate to
sibpar.txt
.When you click Catalog, the file is expected to be located in the cube directory on the Essbase Server by default, so you must have already uploaded it using the Files section of the Essbase web interface. If the file is on your client machine, click File Browser to locate the file.
-
Leave the Header Record Number and Dimension Build Record Number fields as 0. Header records are not useful for dimension builds.
-
Change the Delimiter value from Comma to Tab.
-
Click Proceed.
-
The dimension build rule opens with undefined fields, and preview data (from the text file) populating the grid below the fields.
-
-
As this is a new rule, there are no dimensions associated yet.
- Click Dimensions.
- Select or type the dimension name Product, and click Add.
- Click Dimensions.
-
Now you need to define the build method and check other dimension build operational instructions. Click Product to edit the properties.
-
Change Build Method to Add as child of, and type the destination parent member name underneath it (NewProducts).
Click OK.
-
Click the Dimension selector in Field 1, and select Product.
-
Leave the Type selector of Field 1 blank.
-
Select Fields 2-6. To do this, click on the inactive header area labeled Field 2, hold down Shift key, and click the Field 6 header area. Click Ignore.
As a result, this rule will only operate on the first field of each record. Ignoring fields can be helpful when you don't need to use every field in the source for your dimension build, yet you don't want to prepare different sources.
-
Verify the rule, then save and close. If there are any errors, see Requirements for Valid Dimension Build Rule Files.
-
Run the dimension build job.
If the jobs fails with the following error, it likely means that the outline does not contain the required parent member name (NewProducts, in this example).
Member missing for add as child of dimension setting for dimension <name>
-
View the outline, and inspect the Product member NewProducts to confirm that the members were added.
Table 15-3 Summary of Adding Members as a Child of a Specified Parent
Field | Value | More Information |
---|---|---|
Product dimension |
Select the Add as child of build method |
Type |
Field 1 (Product) |
|
|
Fields 2 through 6 |
Ignore the fields |
You can ignore all fields of a specified column of the source data. See Ignoring Fields. |