This file is indexed.

/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>&mdash; 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>