Reorganization of Cube Levels

Overview

When you are administering SAS OLAP Cubes, it might be necessary to perform multiple updates of a cube for various business reasons. After a cube has been updated several times, it might be necessary to reorganize the levels for the cube. The deciding factor for this would most likely be a failure of the cube to update successfully, accompanied with error messages that are similar to the following messages:
ERROR: The new member name "64  " belonging to the "type" level cannot be
                added to cube because the limit for inserting new captions between
                existing members "  63" and "1001" has been reached.  Consider using
                the proc olap reorganization options to create additional space.
ERROR: A problem was encountered when attempting to update the cube's
                hierarchies with new members.
ERROR: Cube "cubename " cannot be updated. 
If you cannot update your cube and receive this message, you must reorganize your cube level before you can resume updating your cube.

Why Reorganize?

Overview

Reorganization of a cube must be done after a cube update fails when accompanied by an error message that suggests using "proc olap reorganization options" to create additional space for that level. A level can run out of space for new level members after multiple cube update events. This occurs when new level members have been added to the same sorted location for each event. If too many new level members are inserted into the same sorted location, then eventually cube update fails. Unfortunately, this limit can be reached rather quickly if multiple cube update events take place and, for each event, new level members are inserted into the same location between existing members due to their relative sort order. Reorganization changes the internal structure of the cube so that cube update can once again proceed successfully.

Scenario Example

Consider that you have a sales data cube that contains a level for the customer name, and you have numerous data records for that level where the customer name starts with the letter S. Each time a cube update takes place, a new customer name is added whose name starts with the letter S. There is a finite amount of reserved space for new last names when a cube is first made. If all new names added sort in the same location of the alphabet, rather than being evenly distributed throughout the alphabet, then the odds of running out of reserved space increase with each new cube update event.
Eventually, there is no longer any reserved space left to fit in yet another last name that starts with S. However, there might be ample room to add a name that starts with the letter Q, X, or I. Nonetheless, the customer name level will still have to be reorganized before new names starting with the letter S can be added to the cube.

OLAP Procedure

The following PROC OLAP items are available to reorganize SAS OLAP cubes:
  • REORGANIZE_LEVELS | REORG_LEVELS option for PROC OLAP
  • REORGANIZE_LEVEL | REORG_LEVEL .
In SAS 9.2, reorganization can be performed only with the PROC OLAP commands. In SAS 9.3, you can reorganize using the Quick Edits menu in SAS OLAP Cube Studio.

Multiple Language Support Cubes

You cannot reorganize multiple language support (MLS) cubes. You can, however, update an MLS cube.