A fact is a record of an event or state of affairs, designed to store information so that it can be viewed from a multitude of perspectives. Its structure makes it usable in answering a virtually unbounded range of questions you have about your business.

In multidimensional modeling (MDM), a fact is the smallest possible unit of information. It consists of two parts: the base facts, which are numbers or text you will be storing and using for the analysis, and the fact header, which is a series of elements that indicate how the base facts relate to the real world. Facts are implemented as rows in a relational database.

For example, I might collect information about weather patterns in the United States and store the data in fact form. If I did, the table might look like this:

[ Table of temperature facts. ]

Each fact in the table has the same structure as every other fact. Each contains a header with two elements in it–a CITY and a DAY–and one base fact, the maximum temperature (MAX_TEMP) in the city for that day.

You can think of a fact as telling a story. All the facts in the same table will tell the same kind of story, but the details for each will be different. For the first two rows shown the stories are:

"The maximum temperature in Phoenix
on June 28, 1999 was 105 degrees."


"The maximum temperature in San Francisco
on June 28, 1999 was 83 degrees."

Assume for a moment that this table contains information from every city in the world for every single day in the last year. What kinds of analysis can I do with this table? Not much yet. First, you need a multidimensional model.

Next topic: "What is multidimensional modeling?"