Pentaho Reporting 3.5 for Java Developers

Pentaho Reporting 3.5 for Java Developers
eBook: $26.99
Formats: PDF, PacktLib, ePub and Mobi formats
save 15%!
Print + free eBook + free PacktLib access to the book: $71.98    Print cover: $44.99
save 6%!
Free Shipping!
UK, US, Europe and selected countries in Asia.
Also available on:
Table of Contents
Sample Chapters
  • Create great-looking enterprise reports in PDF, Excel, and HTML with Pentaho's Open Source Reporting Suite, and integrate report generation into your existing Java application with minimal hassle
  • Use data source options to develop advanced graphs, graphics, cross tabs, and sub-reports
  • Dive deeply into the Pentaho Reporting Engine's XML and Java APIs to create dynamic reports
  • Work with a multitude of examples throughout the book for quick learning on every topic

Book Details

Language : English
Paperback : 384 pages [ 235mm x 191mm ]
Release Date : September 2009
ISBN : 1847193196
ISBN 13 : 9781847193193
Author(s) : Will Gorman
Topics and Technologies : All Books, Big Data and Business Intelligence, Java, Open Source


Table of Contents

Chapter 1: An Introduction to Pentaho Reporting
Chapter 2: Pentaho Reporting Client and Enterprise Examples
Chapter 3: Pentaho Reporting Examples in the Real World
Chapter 4: Design and Layout in Pentaho's Report Designer
Chapter 5: Working with Data Sources
Chapter 6: Including Charts and Graphics in Reports
Chapter 7: Parameterization, Functions, Formulas, and Internationalization in Reports
Chapter 8: Adding Sub-Reports and Cross Tabs to Reports
Chapter 9: Building Interactive Reports
Chapter 10: API-based Report Generation
Chapter 11: Extending Pentaho Reporting
Chapter 12: Additional Pentaho Reporting Topics
  • Chapter 1: An Introduction to Pentaho Reporting
    • Typical uses of Pentaho Reporting
      • Operational reporting
      • Business intelligence reporting
      • Financial reporting
      • Production reporting
    • Pentaho Reporting history
      • Pentaho Reporting timeline
    • Feature overview
      • An advanced reporting algorithm
      • A multitude of available data sources
      • A wide variety of output formats
      • Pixel accurate rich formatting
      • Embedded charts
      • Report parameterization
      • Formulas and style expressions
      • Sub-reports
      • Cross Tab Reports
      • Interactive reporting
      • Rich authoring tools
      • Reporting server
      • Java API for building reports
      • Extensibility
      • A business friendly open source license
      • Pentaho reporting roadmap
    • Pentaho Reporting architecture
      • LibBase
      • LibDocBundle
      • LibFonts
      • LibFormat
      • LibFormula
      • LibLoader
      • LibRepository
      • LibSerializer
      • LibXml
      • Report Engine Core
      • Report Engine Extensions
    • Summary
  • Chapter 2: Pentaho Reporting Client and Enterprise Examples
    • Pentaho Reporting and example prerequisites
    • Setting up Pentaho Reporting
    • Building your first report
      • Report Designer introduction
      • Creating and configuring your first data source
      • Report layout
        • Creating the report title
        • Creating column headings
        • Populating the details band
        • Creating a report summary
        • Previewing and saving your report
    • Embedding your report in a Swing application
      • Setting up the Swing example application
      • Incorporating Pentaho Reporting into the application
    • Embedding your report in an enterprise web application
      • Setting up the example Tomcat application
      • Incorporating Pentaho Reporting into the web application
      • Adding additional output formats
    • Summary
  • Chapter 3: Pentaho Reporting Examples in the Real World
    • Setting up the example data source
    • ElectroBarn inventory report
      • Configuring the data source
      • Creating a query
      • Creating the Report Header and Page Footer
      • Defining the Group Header
      • Defining the Details band
      • Defining the Group Footer and the Report Footer band
      • Adding a pie chart
      • Incorporating the inventory report into your J2EE environment
        • Adding report selection as an input to the servlet
        • Compiling and deploying the report servlet
    • End of the day cashier balances
      • Configuring an input parameter
      • Configuring the data source query
      • Creating the Report Header and Page Footer
      • Defining the Details band
      • Defining the Group bands
      • Defining the main Group Header
      • Incorporating the End of Day report into your J2EE environment
    • ElectroBarn invoice example
      • Configuring the data source query
      • Defining the Group Header
      • Defining the sub-report
      • Defining the Details band
      • Defining the Group Footer and Page Footer
      • Incorporating the invoice report into your J2EE environment
    • Summary
  • Chapter 4: Design and Layout in Pentaho's Report Designer
    • Report Designer user interface components
      • Menu and toolbar
      • Report element palette
      • Report canvas tab panel
      • Report Explorer
      • Element Properties
      • Messages
    • Report bands
      • Common properties
        • Size and position properties
        • Padding and border properties
        • Page behavior properties
        • Foreground and background color properties
        • Excel properties
        • Attribute properties
        • Style inheritance
      • Page Header and Page Footer
      • Report Header and Report Footer
      • Group Header and Group Footer
      • Details Body
      • Watermark
    • Report elements
      • Common properties
      • Common text properties
        • Font style properties
        • Text style properties
        • Text spacing properties
        • Link properties
        • Excel properties
      • label
      • text-field
      • message
      • number-field
      • date-field
      • resource-label
      • resource-message
      • resource-field
      • chart
      • content (static image)
      • content-field (dynamic image)
      • rectangle
      • ellipse
      • horizontal-line and vertical-line
      • band
      • sub-report
      • survey-scale
      • line-sparkline
      • bar-sparkline
      • pie-sparkline
      • simple-barcodes
    • Visual layout in Report Designer
      • The Grid
      • Guide lines
      • Additional visual indicators
      • Moving and aligning single elements
      • Aligning groups of elements
      • Miscellaneous layout capabilities
    • Pentaho Report Designer shortcut keys
    • Working with fonts
    • Considerations for different output formats
      • Cell output
      • Paging
      • Limits to rich graphics and charts
    • Summary
  • Chapter 5: Working with Data Sources
    • Pentaho Reporting Engine Data API
      • The DataFactory interface
      • The ContextAwareDataFactory interface
      • The TableModel interface
      • DataFactory serialization
      • Additional data source metadata
    • Existing DataFactory implementations
      • TableDataFactory
      • NamedStaticDataFactory
        • Query syntax
        • NamedStaticDataFactory example
      • SQLReportDataFactory
        • StaticConnectionProvider
        • DriverConnectionProvider
        • JndiConnectionProvider
        • SQLReportDataFactory example
      • XPathDataFactory
        • XPathDataFactory example
      • HQLDataFactory
        • StaticSessionProvider
        • DefaultSessionProvider
        • HQLDataFactory Example
      • PmdDataFactory
        • XMI file
        • Domain Id
        • IPmdConnectionProvider
        • Registering MQL Queries
        • PmdDataFactory example
      • KettleDataFactory
        • KettleDataFactory example
      • BandedMDXDataFactory
        • BandedMDXDataFactory example
      • DenormalizedMDXDataFactory
      • CompoundDataFactory
      • Experimental data factories
    • Accessing data throughout a report
    • Summary
  • Chapter 6: Including Charts and Graphics in Reports
    • Supported charts
      • Common chart rendering properties
      • Common category series rendering properties
      • Common XY series rendering properties
      • Common dataset properties
      • Common category series dataset properties
      • Common XY series dataset properties
      • Area chart
        • Area chart example
      • Bar chart
        • Bar chart example
      • Line chart
        • Line chart example
      • Pie chart
        • Pie chart example
      • Ring chart
        • Ring chart example
      • Multi pie chart
        • Multi pie chart example
      • Waterfall chart
        • Waterfall chart example
      • Bar line chart
        • Bar line chart example
      • Bubble chart
        • Bubble chart example
      • Scatter chart
        • Scatter chart example
      • XY Area, XY Bar and XY Line charts
        • XY charts example
      • Extended XY Line chart
        • Extended XY Line chart example
      • Radar chart
        • Radar chart example
    • Including static images in your report
    • Including dynamic images in your report
    • Summary
  • Chapter 7: Parameterization, Functions, Formulas, and Internationalization in Reports
    • Report parameterization
      • Providing report parameters
      • Available report parameter types
    • Working with functions and expressions
      • Common functions
      • Report functions
      • Summary functions
      • Running functions
      • Advanced functions
      • Image functions
      • Script functions
    • Working with formulas
      • Formula syntax
      • Formula data types
      • Formula operators
      • Formula functions
        • Date time functions
        • Logical functions
        • Mathematical functions
        • Text functions
        • Reporting Specific functions
        • Miscellaneous functions
    • Internationalization and localization of reports
      • Localizing fields
      • Localization example
    • Summary
  • Chapter 8: Adding Sub-Reports and Cross Tabs to Reports
    • Adding sub-reports
      • Multi-page sub-report example
      • Chart sub-report example
      • Side-by-side sub-report example
    • Adding cross tabs
      • Cross tab MDX example
      • Cross tab SQL example
      • Multiple row and column cross tab example
    • Summary
  • Chapter 9: Building Interactive Reports
    • Interactive reports in Swing
      • Registering event callbacks
        • ReportHyperlinkListener
        • ReportActionListener
        • ReportMouseListener
      • Interactive Swing example
    • Interactive reports in HTML
      • Interactive HTML report properties
      • Manipulating the reporting HTML DOM
      • Including an external CSS or JavaScript resource
      • Interactive HTML example
        • Adding interactive elements to the dashboard
    • Summary
  • Chapter 10: API-based Report Generation
    • Understanding the serialized report format
      • settings.xml
      • datadefinition.xml and the datasources folder
        • Parameters
        • Data source reference
        • Functions and expressions
      • Data sources folder
      • layout.xml
        • Group and detail band hierarchy
        • Report elements
        • Example layout.xml file
      • styles.xml
        • Example styles.xml file
      • Additional required files
      • Building and running a .prpt bundle example file
    • Building a report using Pentaho Reporting's Java API
      • Adding a data source
      • Defining parameters
      • Including functions and expressions
      • Defining the report's layout
        • Common report bands
        • Group band hierarchy
      • Adding elements to the report
      • Java API example
    • Wizard Java API
    • Summary
  • Chapter 11: Extending Pentaho Reporting
    • Implementing report functions and expressions
      • Implementing expressions
        • Defining an expression class
        • Defining expression metadata
        • An example expression
      • Implementing functions
    • Implementing a formula function
      • Regex formula function example
    • Implementing BeanShell expressions
      • Example BSHExpression
    • Implementing a report element
      • Defining an ElementType class
      • Defining element metadata
      • Defining read and write handlers
      • An example report element
    • Summary
  • Chapter 12: Additional Pentaho Reporting Topics
    • Using Pentaho Reporting with Pentaho's Business Intelligence Server
      • Downloading and Installing the BI Server
      • Publishing a report to the BI Server
      • Scheduling reports
      • Configuring permissions
      • Report emailing and bursting
      • Managing database connections and users
      • Creating ad hoc reports
    • Mobile reporting
      • Mobile report server
      • Mobile report design
      • Example: Pentaho's iPhone BI extension
    • Data source metadata in Pentaho Reporting
      • MetaTableModel API
      • Mapping external metadata
      • Using metadata attributes in a report
      • Current MetaTableModel implementations
      • Metadata example: DefaultMetaTableModel
    • Working with Pentaho Reporting's output layer
      • The OutputProcessorMetaData interface
      • The OutputProcessor interface
      • RenderNode Document Object Model
      • Updating Report Designer
      • Example: PojoObject output
    • The Pentaho community—getting help and contributing
      • Asking questions, helping others
      • Online documentation
      • Submitting bugs and viewing backlogs
      • Contributing code
      • Enterprise support
    • Summary

Will Gorman

Will Gorman is an Engineering Team Lead at Pentaho. He works on a variety of Pentaho's products, including Reporting, Analysis, Dashboards, Metadata, and the BI Server. Will started his career at GE Research, and earned his Masters degree in Computer Science at Rensselaer Polytechnic Institute in Troy New York. Over the years, Will has given many talks, including topics at local Java User Groups. He has published technical papers in journals such as Neurology, and is the author of multiple patents. Will is originally from Cincinnati and now lives in Orlando, Florida, the headquarters of Pentaho.

Code Downloads

Download the code and support files for this book.

Submit Errata

Please let us know if you have found any errors not listed on this list by completing our errata submission form. Our editors will check them and add them to this list. Thank you.

Sample chapters

You can view our sample chapters and prefaces of this title on PacktLib or download sample chapters in PDF format.

Frequently bought together

Pentaho Reporting 3.5 for Java Developers +    HBase Administration Cookbook =
50% Off
the second eBook
Price for both: $39.00

Buy both these recommended eBooks together and get 50% off the cheapest eBook.

What you will learn from this book

  • Install and get started with Pentaho Reporting
  • Build great-looking reports that render as PDF, Excel, and HTML using Pentaho Report Designer
  • Learn the ins and outs of Pentaho Report Designer, including a list of short-cut keys for quick report generation
  • Configure your JDBC database and other data sources to drive dynamic reports
  • Include Pie, Bar, Line, and many other chart types within your reports, as well as other graphics
  • Parameterize your reports, using the open formula standard to drive calculations within your reports
  • Add sub-reports and cross tabs in your reports to more effectively present information
  • Build interactive Swing and HTML reports that are more like dashboards than traditional static enterprise reports
  • Build Pentaho Reports programmatically with easy-to-use XML and Java APIs
  • Learn to write your own open formula functions and custom graphical elements in reports
  • Write your own extensions to Pentaho Reporting, for complete integration and customization into your environment
  • Find out why you should use open source reporting over proprietary reporting offerings (hint: it's free and you can customize it)
  • Install Pentaho's BI Server and deploy your reports with permissions and scheduling with zero code.

Chapter 1 An introduction to Pentaho Reporting – Get a quick overview of Pentaho Reporting, including a feature summary and architectural summary, as well as a history of the product.

Chapter 2 Pentaho Reporting client and enterprise examples –
Install and create reports, and learn to embed reports in your J2EE and client Java applications.

Chapter 3 Pentaho Reporting examples in the real world – Connect to a JDBC data source and create realistic inventory, balance, and invoice reports, including charts and sub-reports.

Chapter 4 Design and layout in Pentaho's Report Designer – Take a deep dive into Pentaho's Report Designer, learning how to create great-looking reports.

Chapter 5 Working with data sources – Learn the various ways to connect your report to live data, including JDBC, Hibernate, Java Beans, OLAP, and many other data sources.

Chapter 6 Including charts and graphics in reports – Incorporate Pie, Bar, Line and many other chart types in your reports, as well as including dynamic images in your report.

Chapter 7 Parameterization, functions, formulas and style expressions in reports – Define parameters for dynamic report generation. Write formulas and use available functions for rich summary and calculated values in your reports. Dynamically adjust colors and styles using expressions in your report.

Chapter 8 Adding sub-reports and cross tabs to reports – Build reports that include side-by-side sub-reports and cross tabs.

Chapter 9 Building interactive reports – These aren't standard boring static reports. Learn how to add dynamic interaction to HTML and Swing reports, for immediate feedback and dashboard-like functionality.

Chapter 10 API-based report generation – Build reports from XML and by using Pentaho Reporting's Java Bean API.

Chapter 11 Extending Pentaho Reporting – Learn to write custom functions and elements within Pentaho Reporting.

Chapter 12 Additional Pentaho Reporting topics – Discover how to use Pentaho Reporting with the Pentaho BI Server, including Pentaho Metadata. Learn more about Pentaho Reporting's open source approach, and how you can contribute to the free software movement.

In Detail

Pentaho Reporting lets you create, generate, and distribute rich and sophisticated report content from different data sources. Knowing how to use it quickly and efficiently gives you the edge in producing reports from your database. If you have been looking for a book that has plenty of easy-to-understand instructions and also contains lots of examples and screenshots, this is where your search ends.

This book shows you how to replace or build your enterprise reporting solution from scratch with Pentaho's Reporting Suite. Through detailed examples, it dives deeply into all aspects of Pentaho's reporting functionalities, providing you with the knowledge you need to master report creation.

This book starts off with a number of examples to get you familiar with the tools and technology of the Pentaho Reporting Suite. Then, with additional examples, it goes into advanced subjects such as charting, sub-reporting, cross tabs, as well as API generation of reports. There are also details and examples on extending Pentaho's open source reporting engine. The reader will learn the ins and outs of Pentaho Report Designer, including a cheat sheet with all the available short-cut keys, to make report design efficient and painless.

Embedding reports into your Java application can be difficult. With Pentaho Reporting it's just a few lines of code. The book provides examples of how to embed reporting into your J2EE and client Java applications, as well as showing you how to build dynamic reports from scratch using Pentaho Reporting's simple Java Bean-based report generation API.

Setting up and integrating a reporting server in an enterprise environment can be arduous. In addition to learning how to build great embeddable reports, you'll also learn how to combine Pentaho Reporting with Pentaho's BI Server for a zero-code, easy-to-configure, enterprise reporting solution.

This example-rich practical guide walks you through every aspect of Pentaho Reporting, including report layout, data source support, enterprise deployment, along with advanced topics such as side-by-side sub-reporting, cross tabs, API report development, and more.


This hands-on tutorial, filled with exercises and examples, introduces the reader to a variety of concepts within Pentaho Reporting. With screenshots that show you how reports look at design time as well as how they should look when rendered as PDF, Excel, or HTML, this book also contains complete example source code that you can copy and paste into your environment to get up and running quickly.

Who this book is for

This book is primarily written for Java developers who want to assemble custom reporting solutions with Pentaho Reporting. Their main interest is in the technical details of creating reports and they want to see how to solve common report problems with a minimum of fuss; they do not need an overview of BI or the importance of reporting.

Secondary audiences of this book are IT professionals who need to install a reporting solution in their environment, and want to learn advanced concepts within Pentaho Reporting such as sub-reports, cross-tabs, data source configuration, and metadata-based reporting.

Code Download and Errata
Packt Anytime, Anywhere
Register Books
Print Upgrades
eBook Downloads
Video Support
Contact Us
Awards Voting Nominations Previous Winners
Judges Open Source CMS Hall Of Fame CMS Most Promising Open Source Project Open Source E-Commerce Applications Open Source JavaScript Library Open Source Graphics Software
Open Source CMS Hall Of Fame CMS Most Promising Open Source Project Open Source E-Commerce Applications Open Source JavaScript Library Open Source Graphics Software