  Online Analytical Processing (OLAP) comprises tools and algorithms that allow
querying multidimensional databases. It is based on the multidimensional model,
where data can be seen as a cube, where each cell contains one or more measures
can be aggregated along dimensions. Despite the extensive corpus of work in the
field, a standard language for OLAP is still needed, since there is no
well-defined, accepted semantics, for many of the usual OLAP operations. In
this paper, we address this problem, and present a set of operations for
manipulating a data cube. We clearly define the semantics of these operations,
and prove that they can be composed, yielding a language powerful enough to
express complex OLAP queries. We express these operations as a sequence of
atomic transformations over a fixed multidimensional matrix, whose cells
contain a sequence of measures. Each atomic transformation produces a new
measure. When a sequence of transformations defines an OLAP operation, a flag
is produced indicating which cells must be considered as input for the next
operation. In this way, an elegant algebra is defined. Our main contribution,
with respect to other similar efforts in the field is that, for the first time,
a formal proof of the correctness of the operations is given, thus providing a
clear semantics for them. We believe the present work will serve as a basis to
build more solid practical tools for data analysis.
