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.
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.
- 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.
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
- 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
Pentaho Reporting can export reports into all major document types:
- Excel (97)
- Rich-Text (RTF)
- 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
- 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
- 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.