3.3 Sizing

Sizing (it may be called also up-sizing) a n-dimensional datacube means to add tuples which contains members in a particular dimension that were not part of that dimension. The dimensions are extended: elements are added to one or more dimensions.

Figure 4: Dicing a Cube

The consequence is an extension of the datacube in one or several dimensions. This operation does not change the dimension of the resulting cube – just its size in one or several dimension is changed (see Figure 4. A particular operation is when only one dimension is extended. Then this operation can also be seen as “merging” a n-dimensional datacube with a (n- 1)-datacube in which the n- 1 dimensions occur in both cubes. It is “adding a slice” to the cube.

This last special case can be implemented as another assignment (where jn+1is a new element in the dimesion J) :

fi,j,k  ←     ai,j,k  if j ∈ J′
            bi,k   if j = jn+1′

Another important special case occurs when the added (n- 1)-slice is an aggregated cube. A aggregated cube is constructed from the n-dimensional cube as follows: Choose one dimension out of the n dimensions in this cube, then choose an operation that can be applied to the cells along the chosen dimension (p.e. summation, maximum, etc., for numerical cells) (see Figure 5).

Figure 5: A Aggregated Cube (Summation)

The aggregated cube is an (n - 1)-dimensional cube. Mathematically, it is a another assignment:

bi,k ←       ai,j,k   forall i ∈ I,k ∈ K

Of course, one can also aggregate along the other dimensions i and k, in this example, and one gets the 2-dimensional cubes as follows:

        ∑                                       ∑
b′i,j ←      ai,j,k   forall i ∈ I,j ∈ J    b′′j,k ←       ai,j,k   forall j ∈ J, k ∈ K
        k∈K                                      i∈I

The aggregation can be continued to generate 1-dimension cubes:

       ∑                  ∑                   ∑
c′i ←       ai,j,k    c′j′ ←      ai,j,k     c′′k′ ←      ai,j,k
        j,k                 i,k                  i,j

Finally, one gets the 0-dimensional cube by aggregating all cells:

d ←      ai,j,k

Figure 6: Lattice of All Aggregated Cubes

Figure 6 shows all possible aggregated cubes from a 0 to 4-dimensional cube. Each node in the graph denotes a aggregated cube and the (down)-links represent the aggregation operation. For example, from the 4-dimensional cube abcd, one can generated a 3-dimensional cube *bcd by aggregation along the dimension a. This shows that the generation of all aggregated cubes forms a lattice.

Represented in another way, the 3-dimensional cube of dimension 2 × 3 × 4 (left-bottom cube in Figure 7) is augmented by all its aggregated cubes.

Figure 7: All Aggregated Cubes

In general, from a n-dimensional cube with dimension cardinalities c1,c2,,cn, one can generate (n i) aggregated i-dimensional cubes. Totally, there are 2n - 1 aggregated cubes. All aggregated cubes together with the original cube can be merged together to form a new cube – the augmented cube. It is also an n-dimensional cube, for which all dimensions are extended by just one element.

The order in which the aggregated cubes are build to form an augmented cube is not important supposing the augmented operation is commutative and associative. There are several aggregate operations (for numerical data) that can be considered: Sum, Average, Max, Min, Count, Variance, Standard deviation, and others. More than one aggregate operation may be applied at the same time.