Analyze all your data in real-time

Analyzing huge quantities of data has never been that easy. With Mondrian, an open source Online Analytical Processing server (OLAP) written in JAVA, the system responds to queries fast enough to allow an interactive exploration of the data - even if they have millions of records, occupying several gigabytes. It brings multidimensional analysis to the masses, allowing users to examine business data by drilling and cross-tabulating information.

Frequently asked questions

How do I use Mondrian in my application?

There are several ways to do it. If you have a fixed set of queries which you'd like to display as HTML tables, use the tab library.
The JPivot project is a JSP-based pivot table, and will allow you to dynamically explore a data set over the web.

Can Mondrian handle large data sets?

Yes, if your RDBMS can. We delegate the aggregation to the RDBMS, and if your RDBMS happens to have materialized group by views created, your query will fly. And the next time you run the same or a similar query, that will really fly, because the results will be in the aggregation cache.

Which API does Mondrian use?

Mondrian's main API is olap4j, an extension to JDBC for OLAP applications. It also has a XML provider for Analysis.

How does Mondrian's dialect of MDX differ from Microsoft Analysis Services?

See MDX language specification.

How do I enable tracing?

See Configuring log4j within Mondrian's environment.

The Mondrian OLAP System uses Partitioned Cubes, allowing several fact tables. It also consists of four layers; working from the eyes of the user to the inward of the data center. These are: the Presentation Layer, the Dimensional Layer, the Star Layer, and the Storage Layer.

Partitioned Cubes

Whereas a regular cube has a single fact table, a Partitioned Cube has several fact tables, which are joined together. One partition might contain today's data, while another might hold historical data, giving a useful contribute for real-time analysis.

  • Presentation Layer
  • Dimensional Layer
  • Start Layer
  • Storage Layer

How to contribute

Open Source delivers better, faster and reliable products, empowered by an active and wider community. Developers, testers, writers, implementers, and most of all users can make valuable contributions.
Whether you're a developer who's implementing the platform or a business analyst who needs to solve a particular problem while using it, your suggestions are valuable! Here’s our guide to submitting contributions to the Pentaho project. If you don’t find the answers you need here, please post your question to our Forums.

Places to contribute

Forums and JIRA

There are two primary ways to make sure that your contributions are recognized and reviewed in a timely fashion: through our Discussion Forums and through our issue and bug tracking system, JIRA.

Reporting a bug

All bug reports are recorded and tracked through our JIRA issue and bug tracking system.

Internationalized contributions

The place to start with a language specific contribution is to look under our International Forums for the language you're interested in. Internationalization efforts are coordinated within these forums, among the community members that are most experienced with each language.

Contributing code

We rely on time and code contributions from our community to keep our commitment of delivering a quality Business Intelligence platform in the open source scenario.
Developer's Guide

Submitting code

Both bug fixes, new features and improvements are types inputs in our JIRA system, allowing you to choose the type appropriated to your case.

Contributing documentation

If you'd like to contribute documentation improvements, or submit a technical article, you can do so in the Pentaho Documentation Wiki.


Solutions should be submitted through the new feature type case in our JIRA system. Complete the case, as described for other code contributions, then attach your solution as an additional file to the case.

Submitting test results

The Pentaho team is building an automated platform test suite and submission protocol because, well, frankly, it's a damn good idea. Until that suite is completed, if you're willing to contribute with time and resources for quality assurance testing, please contact us. We will send you a matrix spreadsheet where you'll identify the environment, test variables in play and submit your results back to us.



Mondrian is an Open Source Business Analytics engine that enables organizations of any size to give business users access to their data for interactive analysis. You can build powerful Business Intelligence solutions with Mondrian as your Online Analytical Processing (OLAP) engine, enabling multidimensional queries against your business data, using the powerful MDX query language.

Help us improve this website. Send your feedback to