/usr/share/doc/libmondrian-java/doc/olap.html is in libmondrian-java-doc 1:3.11.0.1-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 | <html>
<!--
== This software is subject to the terms of the Eclipse Public License v1.0
== Agreement, available at the following URL:
== http://www.eclipse.org/legal/epl-v10.html.
== You must accept the terms of that agreement to use this software.
==
== Copyright (C) 2002-2005 Julian Hyde
== Copyright (C) 2005-2006 Pentaho
== All Rights Reserved.
-->
<head>
<link rel="stylesheet" type="text/css" href="stylesheet.css"/>
<title>Pentaho Analysis Services: Aggregate Tables</title>
</head>
<body>
<!-- doc2web start -->
<!-- page title -->
<div class="contentheading">Mondrian and OLAP</div>
<!-- end page title -->
<p>Mondrian is an OLAP engine written in Java. It executes queries written in the MDX language, reading data from a relational database (RDBMS), and presents the results in a multidimensional format via a Java API. Let's go into what that means.</p>
<!--
######################################
## Online Analytical Processing #####
###################################### -->
<h3>Online Analytical Processing</h3>
<p>Online Analytical Processing (OLAP) means analysing large quantities of data in real-time. Unlike Online Transaction Processing (OLTP), where typical operations read and modify individual and small numbers of records, OLAP deals with data in bulk, and operations are generally read-only. The term 'online' implies that even though huge quantities of data are involved � typically many millions of records, occupying several gigabytes � the system must respond to queries fast enough to allow an interactive exploration of the data. As we shall see, that presents considerable technical challenges.</p>
<p>OLAP employs a technique called Multidimensional Analysis. Whereas a relational database stores all data in the form of rows and columns, a multidimensional dataset consists of axes and cells. Consider the dataset</p>
<table width="500" class="grayTable">
<tr>
<td nowrap><i>Year</i></td>
<td align="right" colspan="2"><b>2000</b></td>
<td align="right" colspan="2"><b>2001</b></td>
<td align="right" colspan="2"><b>Growth</b></td>
</tr>
<tr>
<td nowrap><i>Product</i></td>
<td align="right"><b>Dollar sales</b></td>
<td align="right"><b>Unit sales</b></td>
<td align="right"><b>Dollar sales</b></td>
<td align="right"><b>Unit sales</b></td>
<td align="right"><b>Dollar sales</b></td>
<td align="right"><b>Unit sales</b></td>
</tr>
<tr>
<td align="left"><b>Total</b></td>
<td align="right">$7,073</td>
<td align="right">2,693</td>
<td align="right">$7,636</td>
<td align="right">3,008</td>
<td align="right">8%</td>
<td align="right">12%</td>
</tr>
<tr>
<td align="left"><b>� Books</b></td>
<td align="right">$2,753</td>
<td align="right">824</td>
<td align="right">$3,331</td>
<td align="right">966</td>
<td align="right">21%</td>
<td align="right">17%</td>
</tr>
<tr>
<td align="left"><b>�� Fiction</b></td>
<td align="right">$1,341</td>
<td align="right">424</td>
<td align="right">$1,202</td>
<td align="right">380</td>
<td align="right">-10%</td>
<td align="right">-10%</td>
</tr>
<tr>
<td align="left"><b>�� Non-fiction</b></td>
<td align="right">$1,412</td>
<td align="right">400</td>
<td align="right">$2,129</td>
<td align="right">586</td>
<td align="right">51%</td>
<td align="right">47%</td>
</tr>
<tr>
<td align="left"><b>� Magazines</b></td>
<td align="right">$2,753</td>
<td align="right">824</td>
<td align="right">$2,426</td>
<td align="right">766</td>
<td align="right">-12%</td>
<td align="right">-7%</td>
</tr>
<tr>
<td align="left"><b>— Greetings cards</b></td>
<td align="right">$1,567</td>
<td align="right">1,045</td>
<td align="right">$1,879</td>
<td align="right">1,276</td>
<td align="right">20%</td>
<td align="right">22%</td>
</tr>
</table>
<p>The rows axis consists of the members 'All products', 'Books', 'Fiction', and so forth, and the columns axis consists of the cartesian product of the years '2000' and '2001', and the calculation 'Growth', and the measures 'Unit sales' and 'Dollar sales'. Each cell represents the sales of a product category in a particular year; for example, the dollar sales of Magazines in 2001 were $2,426.</p>
<p>This is a richer view of the data than would be presented by a relational database. The members of a multidimensional dataset are not always values from a relational column. 'Total', 'Books' and 'Fiction' are members at successive levels in a hierarchy, each of which is rolled up to the next. And even though it is alongside the years '2000' and '2001', 'Growth' is a calculated member, which introduces a formula for computing cells from other cells.</p>
<p>The dimensions used here � products, time, and measures � are just three of many dimensions by which the dataset can be categorized and filtered. The collection of dimensions, hierarchies and measures is called a cube.</p>
<!--
########################
## Conclusion #####
######################## -->
<h3>Conclusion</h3>
<p>I hope I have demonstrated that multidimensional is above all a way of presenting data. Although some multidimensional databases store the data in multidimensional format, I shall argue that it is simpler to store the data in relational format.</p>
<p>Now it's time to look at the architecture of an OLAP system. See <a href="architecture.html">Mondrian architecture</a>.</p>
<br />
<br />
<p>
Author: Julian Hyde; last modified August 2006.<br/>
Version: $Id$
(<a href="http://p4web.eigenbase.org/open/mondrian/doc/olap.html?ac=22">log</a>)<br/>
Copyright (C) 2002-2005 Julian Hyde<br/>
Copyright (C) 2005-2006 Pentaho
</p>
<br />
<!-- doc2web end -->
</body>
</html>
|