Proof. To show that y
a
is additive it is sufficient to
show that β(c)· (x
a
− x
r
) is additive, because the sum
of additive measures is also additive and y
r
is additive.
Thus, we must show that:
β(c) =
∑
q
β(R
−1
q
(c)), (12)
where R
−1
q
is a drill-down operator defined on a cube
or cell in the lattice L. Now there are two cases:
case 1) c
0
is a descendant of c. In that case c
0
is
also a descendant of R
−1
q
(c), which are the children of
c in direction q. This property does not depend on q.
So both sides of equation (12) are equal to 1.
case 2) c
0
is not a descent of c. But in that case,
it also not a descendant of the children of c. Hence,
both sides of equation (12) are zero.
It is important to note that, for any cell c
0
in the
base cube of a lattice, that if cell c
0
is a descendant of
R
−1
q
1
(c) then it is also a descendent of R
−1
q
2
(c).
Note that the measure y
a
is unique. This follows
from the general proposition that every additive mea-
sure with given values on the base cube is unique.
To show this, now suppose that we have a (sub) lat-
tice L with top cube C = [ j
1
, j
2
, . . . , j
n
] and base cube
C
0
= [i
1
, i
2
, . . . , i
n
]. In the lattice the drill-down opera-
tors are commutative, different orders of application,
over all analysis paths from top to base, give the same
cube. Or stated formally:
R
− j
1
1
◦ R
− j
2
2
◦ . . . ◦ R
− j
n
n
(C) =
R
− j
n
n
◦ . . . ◦ R
− j
2
2
◦ R
− j
1
1
(C) = C
0
.
(13)
This property together with equation (10) ensures that
the system of additive equations, represented in L has
a unique solution if the measure is defined on the base
cube.
Now the what-if analysis can be carried out as fol-
lows. If a base cell x
a
(d
1
, d
2
, . . . , d
n
) is changed with
some δ, all elements in its upset are changed with that
δ. This follows immediately from Theorem 1.
5 SOFTWARE
IMPLEMENTATION
Our prototype software is implemented in MS Ex-
cel/Access in combination with Visual Basic, see
(Caron and Daniels, 2009) for a detailed overview of
the core functionality. For the implementation of the
ideas in this paper we build on this functionality. The
software connects with an OLAP database in MS Ac-
cess. In MS Excel a cube can be constructed from
this database and inspected via a pivot table. In such
a pivot table, the analyst can do what-if analysis on
a specific cell, by selecting the cell and pushing the
analysis button. Now the analyst can decide to change
the cell with some percentage or absolute value, see
Figure 2. The result will be that the original cell value
and its upset are changed with that value. In the soft-
ware all changed cells are indicated with a color, see
Figure 3. Next the analyst might decide to do a new
analysis and build on the previous one, or he might
undo his action to return to the original pivot table.
After some actions the analyst can always return to
the original situation because all operations are exe-
cuted on a (virtual) copy of the OLAP database. Obvi-
ously, in the software only the modified cell, in some
cube in the lattice, and its changed upset need to be
stored for a single analysis.
6 CASE STUDY: SUPERMARKET
SALES DATA
In this section we apply our prototype analysis soft-
ware on an artificial but realistic supermarket sales
data set, modelled as a star scheme. The data set has
164, 558 records in the sales fact table for the year
2000 for supermarkets in North America, with mea-
sures as sales, costs, revenues, and so on. Typical di-
mensions with hierarchies in the data set are: Time
(see Section 2.1 for the hierarchy), Store Region (with
hierarchy: Store Name ≺ Store City ≺ Store Region
≺ Store Country), Product (with hierarchy: Product
Name ≺ Product Sub-Category ≺ Product Category
≺ Product Family), etc.
In the data set we have the lattice with base cube
Month × Store Name × Product Name or [0, 0, 0]
and with top cube All-Times × All-Stores × All-
Products or [3, 4, 4]. Now suppose we are inspect-
ing the cube Year.Quarter × Country.City × Prod-
uct Family or [1,1,3], with slices on Year = 2000 and
Product Family = ‘Food’ with the additive measure
store sales. In the cube we want analyse the impact of
a 10% increase in the cell store sales(2000.Q1, Mex-
ico.Acapulco, Food)= 10, 820.89 on its upset cells in
[2,1,3], [1,2,3], [2,2,3], and [2,4,3], see Figure 2 in the
Appendix, where a number screenshots are depicted
from our software.
The result of this analysis is depicted in Fig-
ure 3, where the colored cells (with grey) indicate
the changed cells in its upset, that is partly visu-
alized, with δ = 1082.09. For example, the value
of the top cube changes to store sales
a
(2000, All-
Countries, Food)= 779, 217.89 from its original value
778, 135.80. Obviously, the part of the upset that is
not visualized in the figures is also updated. If, for ex-
ample, the cube (2000.Quarter, Country.Region.City,
Food), also noted as [2,3,3], one would observe the
ICEIS 2010 - 12th International Conference on Enterprise Information Systems
212