Learn about an adaptable approach which separates programming tasks from Web page design tasks. This strong conceptual model encourages good design, enables re-use of data definitions, and is well-suited to the construction of dynamic user interfaces. The authors also illustrate the particular challenges you might encounter when you dynamically change the analysis performed by Web pages. (This intermediate-level article was first published by IBM developerWorks, August 5, 2004, at http://www.ibm.com/developerWorks).
Not all data is suitable for analysis and presentation using an OLAP-like model. The data should be rectangular in nature; in other words, it should be representable using a row-and-column structure. A common way of obtaining such data could be by querying relational databases or by reading from spreadsheets or other file-based data.
The OLAP model for analysing data involves the aggregation of values classed as measures according to related values classed as dimensions. Dimensions group, filter, and order data. For example, sales figures might be analysed by sales region and month. The sales region and month will both be dimensions of the data. Measures, on the other hand, are the data that is being sliced and diced. It is sometimes also useful to order by measure values. In our sales example, we might have unit volume and revenue. Unit volume and revenue are both numeric, and inherently aggregatable. Each data source will be defined in terms of dimensions and measures.
Collaterals is the term we use for data. Their use is not for slicing and dicing data. This means they are not dimensions and are not aggregatable. An example of collateral data might be the free-form responses to survey questions or images.
Data resulting from an OLAP analysis returns in one or more slices, with each slice containing one or more rows of data. You can control the arrangement of slices by using slice dimensions. For example, if we request the dimensions Month, Sales Region, and Product, and we specify Sales Region and Product as the slice dimensions, then there will be one slice for each month with each slice containing a row for each combination of sales region and product within the month. The choice of slice dimensions depends on how the data is to be presented.