About Pentaho Reporting

What is Pentaho Reporting

Pentaho Reporting is a suite of open-source reporting tools which allows you to create relational and analytical reports from a wide range of data-sources. The Pentaho Reporting Engine is able to create PDF, Excel, HTML, Text, Rich-Text-File and XML and CSV outputs of your data. Our OpenFormula/Excel-formula expressions help you to create more dynamic reports exactly the way you want them. Our open architecture and our powerful API and extension points make sure this system can grow with your requirements.

The Pentaho Report Designer (PRD) and the Pentaho Report Design Wizard (RDW) are used to create report definitions in a graphical editor. The Pentaho Report Designer can additionally be used as a powerful desktop reporting application.

The created report definitions are executed by the Pentaho Reporting Engine (PRE). The Reporting Engine is a lightweight Java reporting library with a minimal overall footprint, which can be embedded in other Java Desktop or Server applications. The reporting engine drives both the Pentaho Report Designer and the Pentaho BI-Server, a Business Intelligence web-application used to publish reports and other content over the web.

System Requirements

As with many systems, there is no such thing as a “best” configuration. The actual minimum requirement depends on how large the processed reports will be and how many reports are executed at the same time. The performance of the report processing is governed by how fast the database or data-source can deliver the data, how powerful the CPU is and how much memory is available for caches and buffers.

A single report processing run will consume one CPU. Leave some extra resources for doing other tasks of the operating system or application and a dual-core or hyper-threaded CPU will be perfect for all desktop reporting scenarios. For server side scenarios, the ideal system contains a CPU-core for each additional concurrently run report.

The amount of memory needed for the report processing depends largely on the size of the report and the desired export format. Some export types have to keep all the generated content in memory for the time of the report processing and thus have a larger footprint. In general, for reasonable sized reports of no more than 2000 pages, 256MB should be more than enough. Add 128MB for each additional concurrent user. If you intend to export reports resulting in even larger documents, you may have to add extra memory or tune the report-configuration to activate additional features to reduce the memory usage at the expense of processing speed.

Minimum Requirements

  • Java 5 (PRE)
  • Java 6 (PRD, RDW)
  • A reasonable fast CPU
  • 256MB allocated heap for the application.

Recommended Desktop Reporting Requirements

  • Java 6
  • A dual-core CPU
  • 512MB allocated heap for the application.

Recommended Server Requirements:

  • Java 6
  • A quad-core system or better. As a rule of thumb: 1+(number_of_users) cores will be needed for optimum performance
  • 1GB of allocated heap for the application. As a rule of thumb: 128 * (1+(number_of_users) MB will be needed for optimum performance.


Report Types

Pentaho Reporting supports both Relational (Banded) and Analytical/Cross-tab Reports (when using OLAP data-sources).

Pentaho Reporting supports a virtually* unlimited subreports, which can be nested in any depth. Subreports can define their own data-sources, are able to receive parameters from the parent reports, and thus allows you to create reports across different source systems.

A report-wizard helps to kick-start new reports by generating all required fields and groups in four simple steps. You can easily create new wizard-templates from within the report-designer.


The following data-sources are supported by the Pentaho Reporting Engine:

  • Relational Databases with JDBC and ODBC drivers
  • XML files via XPath queries
  • OLAP data-sources
    • native access to Pentaho Analysis/Mondrian
    • XML/A and other third party OLAP databases with OLAP4J
  • Scriptable data-sources: BeanShell, JavaScript, Groovy, Python, REXX
  • Manually defined data tables
  • Inline ETL and access to Web-Services via Pentaho Data-Integration/Kettle
  • Querying existing Java-Code via Reflection/Method Invokation
  • Accessing business views defined in the Pentaho Metadata System

Output types

Pentaho Reporting can export reports into all major document types:

  • PDF
  • Excel (97)
  • Text
  • Rich-Text (RTF)
  • CSV
  • XML (via API)

And last but not least, you can also print your reports on Paper with Pentaho Reporting, if you prefer non-electronic delivery.

A wide variety of report elements

  • Label, Message-Fields, Number- and Date-Fields
  • Internationalized Reports via Resource-Field, Resource-Label and Resource-Message elements
  • Static and dynamic Images (PNG, JPEG, GIF, WMF, SVG)
  • Barcodes: Code128, Code128A, Code128B, Code128C, UCC128, EAN128, EAN13, Bookland, UPC-A, Standard 2 of 5, Interleave 2 of 5, PDF417, Code 39, Codabar, PostNet
  • Sparklines: Bar-Spark, Line-Spark, Pie-Spark
  • Charts: Bar, Line, Area, Pie, Multi-Pie, Bar-Line, Ring, Bubble-Chart, Scatter Plot Chart, Radar, Waterfall
  • sub-bands/sub-sections
  • Provides a simple API to create new element types

Aggregations and Calculated Fields

  • Supports all important aggregation types (Sum, Average, Count, Count-Distinct, Minimum and Maximum).
  • Open-Formula expressions for Excel-style calculations
  • Scriptable expressions for complex calculations
  • Extensible API to add your own calculations or to access existing business logic in external Java-classes

Parameter prompts

  • Built-in support for simple and data-driven parameter
  • Parameter can validate against report data-sets
  • Post-processing formulas and validation
  • Cascading prompts

Dynamic Reports and Conditional Formatting

Sometimes statically defined reports are not enough. Power users need power tools. The unmatched flexibility of the Pentaho reporting engine allows you to tweak virtually every property of the report definition. It is powerful enough to build a Adhoc reporting solution with the customization features of the reporting engine itself.

  • Conditional formatting via style and attribute expression All style and most of the structural element attributes can be calculated at run-time so that reports adapt to the incoming data for the maximum on flexibility.
  • ReportPreProcessors can be used to dynamically reconfigure the report definition before the processing starts and thus can adapt the groups, calculations or visual elements to the incoming data.
  • Metadata driven reports: With Pentaho Metadata, standard formats ride along with the data and guarantee company-wide consistent reports.

2 thoughts on “About Pentaho Reporting

  1. Reeshu

    Is there any way i can export the report data to an Excel – 2010 format (xlsx). I am having records around 80K. Is there is any way i can export the data to xlsx format.


    1. ThomasThomas Post author

      The file format for Excel has not changed between Excel 2007 and 2010. So use the Excel 2007 Export that is offered in both the Pentaho Report Designer and the Pentaho BI-Server.

Comments are closed.