A×B ={a ,...,a }×{b ,...,b }
1n1m
={a b ,...,a b ,
11 1m
a b ,...,a b ,...,
21 2m
a b ,...,a b }
n1 nm
A×P ={a ,...,a }×P
1n
={a P,...,a P}
1n
with those domain values. If we define R to be the dataset
being analyzed, r to be a record, and A(r) to be the value of
the field A for the record r, then we can define the nest operator as follows:
A/B ={a b | ∃r ∈R st A(r)= a & B(r)= b }
ij i j
The intuitive interpretation of the nest operator is “B
within A”. For example, given the fields quarter and month,
the expression quarter/month would be interpreted as those
months within each quarter, resulting in three entries for
each quarter. In contrast, quarter × month would result in
12 entries for each quarter. Data cubes represent hierarchies explicitly and there is no need to compute the nest
relationship.
Using the above semantics for each operator, every expression in the algebra can be reduced to a single sequence, with
each entry in the sequence being an ordered term consisting
of zero or more ordinal values with zero or more quantitative
field names. We call this set evaluation of an expression the
normalized form. The normalized form of an expression
determines one axis of the table: the table axis is partitioned
into columns (or rows or layers) so that there is a one-to-one
correspondence between set entries in the normalized set
and columns. Figure 2 illustrates the configurations resulting from a number of expressions.
Analysts can also combine multiple data sources in a
single Polaris visualization. When multiple data sources are
imported, each data source is mapped to a distinct layer (or
set of layers). While all data sources and all layers share the
same configuration for the x and y axes of the table, each
data source can have a different expression for partitioning
its data into layers.
In retrospect, the Polaris table algebra is very similar to
the operations in the MDX query language for data cubes.
3. 2. types of graphics
Given a table configuration, the next step is to specify the
type of graphic in each pane. We have developed a taxonomy of graphics that results in an intuitive and concise
specification of graphic types. This taxonomy is based on
both the axes within each pane (implicitly specified from
the table configuration via the role and scale of the innermost field in the sequence) as well as the mark type representing a tuple (e.g., text, shape, bar, etc.). We group this
taxonomy into three families (illustrated in Figure 3) based
on the axes: ordinal–ordinal, ordinal–quantitative, and
quantitative–quantitative.
Each family contains a number of variants depending
figure 2: the graphical interpretation of several expressions in the table algebra. each expression in the table algebra can be reduced to a
single sequence of terms, and that sequence can then be directly mapped into a configuration for an axis of the table.