Table of Contents
Preface
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
Index
- 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
- Typical uses of Pentaho Reporting
- 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
- Common properties
- 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
- Report Designer user interface components
- 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
- Pentaho Reporting Engine Data API
- 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
- Supported charts
- 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
- Report parameterization
- 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
- Adding sub-reports
- Chapter 9: Building Interactive Reports
- Interactive reports in Swing
- Registering event callbacks
- ReportHyperlinkListener
- ReportActionListener
- ReportMouseListener
- Interactive Swing example
- Registering event callbacks
- 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
- Interactive reports in Swing
- 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
- Understanding the serialized report format
- 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 expressions
- 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
- Implementing report functions and expressions
- 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
- Using Pentaho Reporting with Pentaho's Business Intelligence Server


