Cubes are the basic data containers of MOLAP systems, analogous to, but very different from, tables in a relational database. A cube is an N-dimensional array of intersections, much like a spreadsheet is a 2-dimensional array of cells. A cube is created by specifying the Dimensions that define the size and shape of its N-dimensional space.
- For example, a profit and loss cube might include the dimensions month, year, region, and account. A value of 10,000 could be stored at the intersection June, 2008, London, Sales.
Within each dimension consolidations define data aggregations, often in a hierarchical structure. Consolidations are special elements embedded in the cube's N-dimensional space along with the raw values.
- In the example above, if the region dimension has a Great Britain consolidation then the impact on the kingdom would be immediately available within the cube.
The analytical power and expressiveness of multidimensional cubes lies in the ability to slice and dice the data from a variety of "perspectives," somewhat like a spreadsheet pivot table on steroids. One typically uses 2-dimensional views of the data with complete flexibility to choose the arrangement of dimensions and the selection of elements in each dimension.
In some OLAP products a cube is not an actual data container, but a logical view of data stored in an underlying relational database. (Compare ROLAP.) Cubes are often sparsely populated and different OLAP products use a variety of strategies to avoid allocating space to unused intersections.
Depending on the OLAP application that's being used to create and maintain the cubes, data can be entered manually (TM1 has a number of interface options for this, such as DBR formulas in Excel spreadsheets, or the Server Explorer interface), or it can be fed from other systems (typically relational databases) via an ETL tool like TurboIntegrator.