Make the Source Data as Small as Possible
To improve performance of Essbase block storage data load, make the source data as small as possible, and group it into ranges to remove redundancy. The fewer fields that Essbase reads in the data source, the less time is needed to read and load the data.
The following example source of data is not organized in ranges. It includes unneeded repetition of fields. All values are Profit values. Profit must be included only at the beginning of the group of data applicable to it. This example contains 33 fields that Essbase must read to load the data values properly.
Profit
Jan "New York" Cola 4
Jan "New York" "Diet Cola" 3
Jan Ohio Cola 8
Jan Ohio "Diet Cola" 7
Feb "New York" Cola 6
Feb "New York" "Diet Cola" 8
Feb Ohio Cola 7
Feb Ohio "Diet Cola" 9
The next example provides the same data optimized by grouping members in ranges. By eliminating redundancy, this example contains only 23 fields that Essbase must read in order to load the data values properly.
Profit
Jan "New York" Cola 4
"Diet Cola" 3
Ohio Cola 8
"Diet Cola" 7
Feb "New York" Cola 6
"Diet Cola" 8
Ohio Cola 7
"Diet Cola" 9
Essbase assigns the first value, 4, to Jan->New York->Cola; it assigns the next value, 3, to Jan->New York->Diet Cola and so on.
Although sorted efficiently, the source data sorted and grouped by dense dimensions shows a lot of repetition that can slow down the load process. You can further optimize this data by grouping the data into ranges. The optimized source data below eliminates the redundant fields, reducing processing time.
Sales Margin COG Profit
Jan Actual Cola Ohio 25 18 20 5
Florida 30 19 20 10
"Root Beer" Ohio 18 12 10 8
Florida 28 18 20 8