This is a text description of cubcrspo.gif. This figure illustrates the parent, cubeCursor, with its child Cursor objects layered horizontally. The top layer is the slowest varying output. Since it has only one promotion value, the extent of that value in cubeCursor is one. The next layer down also has only one channel value so the extent of that value is one. The layer below that is has three time values so the extent of the values is three. In the next layer down, two customer values are specified by the first time value so the extent of the customer ValueCursor is two for that time value. The second time value specifies three customer values so extent of the customer ValueCursor is three for that time value. The third time value specifies two customer values so the extent of the customer ValueCursor is two for that time value. In the last layer, the first customer value for the first time period specifies two product values so the extent of the product ValueCursor for that customer value is two. The second customer value for the first time period specifies one product value so the extent of the product ValueCursor for that customer value is one. The first customer value for the second time period specifies two product values so the extent of the product ValueCursor for that customer value is two. The second customer value for the second time period specifies one product value so the extent of the product ValueCursor for that customer value is one. The third customer value for the second time period specifies one product value so the extent of the product ValueCursor for that customer value is one. The first customer value for the third time period specifies one product value so the extent of the product ValueCursor for that customer value is one. The second customer value for the third time period specifies two product values so the extent of the product ValueCursor for that customer value is two.