Skip Links

Microsoft Subnet: An independent Microsoft community

Chapter 2: Multidimensional Space

Sams

By Network World Staff , Irina Gorbach, Alexander Berger, and Edward Melomed Irina Gorbach, Alexander Berger, and Edward Melomed, NetworkWorld.com
November 13, 2008 08:00 AM ET
  • Print

In This Chapter

  • Describing Multidimensional Space

  • Dimension Attributes

  • Cells

  • Measures

  • Aggregation Functions

  • Subcubes

Working with relational databases, we’re used to a two-dimensional space—the table, with its records (rows) and fields (columns). We use the term cube to describe a multidimensional space, but it’s not a cube in the geometrical sense of the word. A geometrical cube has only three dimensions. A multidimensional data space can have any number of dimensions; and those dimensions don’t have to be the same (or even similar) size.

One of the most important differences between geometric space and data space is that a geometric line is made up of an infinite number of contiguous points along it, but our multidimensional space is discrete and contains a discrete number of values on each dimension.

Describing Multidimensional Space

We’re going to define the terms that we use to describe multidimensional space. To a certain extent, they are meaningful only in relation to each other:

  • A dimension describes some aspect of the data that the company wants to analyze. For example, your company would have a data with time element in it—the Time could become a dimension in your model.

  • A member corresponds to one point on a dimension. For example, in the Time dimension, Monday would be a dimension member.

  • A value is a unique characteristic of a member. For example, in the Time dimension, 5/12/2008 might be the value of the member with the caption “Monday.”

  • An attribute is the full collection of members. For example, all the days of the week would be an attribute of the Time dimension.

  • The size, or cardinality, of a dimension is the number of members it contains. For example, a Time dimension made up of the days of the week would have a size of 7.

To illustrate, we’ll start with a three-dimensional space for the sake of simplicity. In Figure 2.1, we have three dimensions: (1) Time in months, (2) Products described by name, and (3) Customers described by their names. We can use these three dimensions to define a space of the sales of a specific product to specific customers over a specific period of time, measured in months.

Figure 2.1
A three-dimensional data space describes sales of products to customers over a time period.

In Figure 2.1, we have only one sales transaction represented by a point in the data space. If we represent every sales transaction of the product by a point on the multidimensional space, those points, taken together, constitute a “fact space” or “fact data.”

It goes without saying that actual sales are much less than the number of sales possible if we were to sell each of our products to all our customers each month of the year. That’s the dream of every manager, of course, but in reality it doesn’t happen.

The total number of possible points creates a theoretical space. The size of the theoretical space is defined mathematically by multiplying the size of one dimension by the product of the sizes of the other two. In a case where you have a large number of dimensions, our theoretical space can became huge; but no matter how large the space gets, it remains limited because each dimension is distinct and is limited by the distinct number of its members.

The following list defines some more of the common terms we use in describing a multidimensional space.

  • A tuple is a coordinate in multidimensional space.

  • A slice is a section of multidimensional space that can be defined by a tuple.

Each point of a geometric space is defined by a set of coordinates, in a three-dimensional space: x, y, and z. Just as a geometric space is defined by a set of coordinates, multidimensional space is also defined by a set of coordinates. This set is called a tuple.

For example, one point of the space shown in Figure 2.1 is defined by the tuple ([Club 2% Milk], [Edward Melomed], [March]).

An element on one or more dimensions in a tuple could be replaced with an asterisk (*) indicating a wildcard. In our terminology, that is a way to specify not a single member but all the members of this dimension. By specifying an asterisk in the tuple, we turn the tuple from a single point into a subspace (actually, a normal subspace). This sort of normal subspace is called a slice.

You might think of an example of a slice for the sales of all the products in January to all customers as written (*, *, [January]). But for simplicity, the wildcards in the definitions of slice are not written; in our case, it would be simply ([January]). Figure 2.2 shows the slice that contains the sales that occurred during January.

Figure 2.2
A slice of the sales from January.

You can think of many other slices, such as the sales of all the products to a specific customer ([Edward Melomed]), the sales of one product to all customers ([Club 2% Milk]), and so on.

  • Print
What is Tech Briefcase?
TechBriefcase is a new, free service where IT Professionals can Search, Store and Share IT white papers and content like this. Learn more
Bookmark content
Speed up your research efforts with content across the web.
Search and Store
Find the white papers you need. Create folders for any topic.
View Anywhere
Open your briefcase on your iPhone, tablet or desktop. Share with colleagues.
Don't have an account yet?

Videos

rssRss Feed