You are previewing BIRT: A Field Guide to Reporting.
O'Reilly logo
BIRT: A Field Guide to Reporting

Book Description

The world-wide developer community has downloaded over three million copies of BIRT (Business Intelligence and Reporting Tools) from the Eclipse web site. Built on the open-source Eclipse platform, BIRT is a powerful reporting system that provides an end-to-end solution, from creating and deploying reports to integrating report capabilities in enterprise applications.

The first in a two-book series about this exciting technology, BIRT, Second Edition: A Field Guide to Reporting is the authoritative guide to using BIRT Report Designer, the graphical tool that enables users of all levels to build reports, simple to sophisticated, without any programming.

BIRT, Second Edition: A Field Guide to Reporting is an essential resource for users who want to create presentation quality reports from day one. The extensive examples, step-by-step instructions, and abundant illustrations help new users develop their report design skills quickly. Power users can find the information they need to make the most of the product’s rich set of features to build complex and compelling reports. By the time you finish this book, you learn the following and more

  • Design effective business and corporate reports that convey information through images, charts, tables, and cross tabs

  • Build reports using data from a variety of sources, including databases, XML documents, spreadsheets, and web services

  • Enliven reports with interactive features, such as hyperlinks, Tooltips, and highlighting

  • Create consistently styled reports and collaborate with other report designers through the use of templates and libraries of reusable elements

  • Localize reports for an international audience

  • This second edition, revised and expanded, adds updated examples and covers all the new and improved product features, including

  • Cross tabs and OLAP cubes

  • New chart types, including Gantt, bubble, tube, and cone charts

  • Web services as a new data source

  • New report output formats, including doc, ppt, xls, and PostScript

  • The capability for reports to reference CSS

  • Localization of report parameter and data values

  • Table of Contents

    1. Copyright
    2. The Eclipse Series
      1. Series Editors
        1. Titles in the Eclipse Series
    3. Foreword
      1. JSP = COBOL and Banded Report Writers = Report Design Pads
      2. Enter BIRT
    4. Preface
      1. About this book
      2. Who should read this book
      3. Contents of this book
        1. Part I, Installing BIRT
        2. Part II, Getting Started
        3. Part III, Accessing and Binding Data
        4. Part IV, Designing Reports
        5. Part V, Enhancing Reports
      4. Typographical conventions
    5. Acknowledgments
    6. I. Installing BIRT
      1. 1. Prerequisites for BIRT
        1. Downloading Eclipse BIRT components
        2. BIRT Report Designer software requirements
        3. About types of BIRT builds
      2. 2. Installing a BIRT Report Designer
        1. Installing BIRT Report Designer Full Eclipse Install
        2. Installing BIRT RCP Report Designer
        3. Troubleshooting installation problems
          1. Avoiding cache conflicts after you install a BIRT report designer
          2. Specifying a Java Virtual Machine when starting BIRT report designer
        4. Installing a language pack
        5. Updating a BIRT Report Designer installation
        6. Updating BIRT RCP Report Designer installation
    7. II. Getting Started
      1. 3. Learning the Basics
        1. About BIRT reports
        2. Overview of the report design process
          1. Planning the report
          2. Starting a new report design
          3. Specifying the data to use
          4. Laying out the report
          5. Formatting the report content
          6. Designing a master page
          7. Previewing and testing the report
        3. About the report design environment
          1. Starting BIRT Report Designer
          2. Report design views
            1. Report editor
            2. Palette
            3. Data Explorer
            4. Library Explorer
            5. Property Editor
            6. Navigator
            7. Outline
            8. Problems
          3. Report design files
          4. Report output formats
          5. Previewing a report
        4. Viewing sample reports
        5. Tutorial 1: Building a simple listing report
          1. Task 1: Create a new project
          2. Task 2: Create a new report
          3. Task 3: Build a data source
          4. Task 4: Build a data set
          5. Task 5: Lay out the report
          6. Task 6: Sort the data
          7. Task 7: Format the report
            1. Edit the column headings
            2. Format the column headings
            3. Display first and last names on the same line
            4. Increase the space between rows
          8. Task 8: Create a report title
          9. Next steps
      2. 4. Planning Your Report
        1. Identifying the content of the report
        2. Determining how the report will be viewed
        3. Considering international reporting requirements
        4. Deciding the layout and format of the report
        5. Drawing a mock-up
        6. Considering reuse of report components
        7. Managing report design resources
        8. Deciding how the report will be deployed
    8. III. Accessing and Binding Data
      1. 5. Connecting to a Data Source
        1. About BIRT data sources
        2. Accessing data using JDBC
          1. Creating a JDBC data source
          2. Managing JDBC drivers
            1. Adding a JDBC driver
            2. Deleting a JDBC driver
            3. Restoring a JDBC driver
        3. Accessing data in a text file
          1. Text file structure
          2. Text file data types
          3. Creating a flat file data source
        4. Accessing data in an XML file
        5. Accessing a web service
        6. Creating reusable data sources
          1. Creating a connection profile
          2. Using a connection profile
        7. Setting connection properties when a report runs
          1. Setting the folder path for text files at run time
          2. Setting the database user name and password at run time
        8. Troubleshooting data source problems
      2. 6. Retrieving Data
        1. About data sets
        2. Selecting data
          1. Using a SQL query to retrieve data from a JDBC data source
            1. Writing a basic SQL query
            2. Combining data from multiple tables
          2. Using a stored procedure to retrieve data from a JDBC data source
          3. Specifying what data to retrieve from a text file
          4. Specifying what data to retrieve from an XML data source
          5. Specifying what data to retrieve from a web service
        3. Viewing and changing output columns
        4. Adding a computed field to a data set
        5. Joining data sets
        6. Verifying the data returned by a data set
        7. Specifying the data to retrieve at run time
          1. About the Query Text property
          2. Specifying a value for the Query Text property
      3. 7. Binding Data
        1. Understanding column bindings
          1. Descriptive names
          2. Dynamic updates of calculated data
        2. Creating column bindings
        3. Editing and deleting column bindings
        4. Copying data elements
        5. More about column-binding expressions
    9. IV. Designing Reports
      1. 8. Laying Out a Report
        1. Understanding the layout model
          1. About the report layout elements
          2. Overview of the layout process
        2. Creating the sections of a report
          1. Organizing elements in a grid
            1. Adding rows and columns
            2. Deleting rows and columns
          2. Organizing elements in a table
            1. Deciding where to place elements in a table
            2. Binding a table to a data set
            3. Adjusting table rows and columns
          3. Organizing elements in a list
            1. Deciding where to place elements in a list
            2. Binding a list to a data set
        3. Placing report elements
          1. Placing report elements side by side
          2. Inserting a data set field
          3. Inserting a computed field
          4. Inserting an image
            1. Resizing an image
            2. Providing a text alternative
      2. 9. Displaying Text
        1. Types of textual elements
        2. Deciding which textual element to use
          1. Formatting words differently in a static string
          2. Combining static text with dynamic data
          3. Displaying dynamic data that contains HTML tags
          4. Displaying dynamic data that a JavaScript expression returns
        3. Using a dynamic text element
        4. Using a label element
        5. Using a text element
          1. Applying multiple style formats in a text element
          2. Combining a JavaScript expression with static text in a text element
          3. Combining a value from a data set field with static text in a text element
          4. Formatting dynamic values in a text element
          5. Displaying data set field values that are stored as HTML text
      3. 10. Formatting Report Content
        1. Formatting data
          1. Formatting numeric data
            1. Formatting numeric data in a data element
            2. Formatting numeric data in a text element
          2. Formatting date-and-time data
            1. Formatting date-and-time data in a data element
            2. Formatting date-and-time data in a text element
          3. Formatting string data
            1. Formatting text in a data element
            2. Formatting text data in a text element
        2. Formatting with styles
          1. Creating styles
          2. Reusing CSS styles
            1. Importing styles
            2. Linking a CSS file
          3. Applying a style
          4. Modifying a style
          5. Deleting a style
        3. Formatting data based on conditions
          1. Creating a formatting rule
          2. Modifying a formatting rule
          3. Creating multiple formatting rules
          4. Deleting a formatting rule
        4. Alternating row colors in a table
        5. Specifying alignment of content in a table or grid
          1. Aligning text horizontally
          2. Aligning content vertically
        6. Adjusting the spacing of content in a report
          1. Resizing rows and columns
          2. Resizing margins, borders, and padding of elements
        7. Specifying fixed layout for HTML output
        8. Displaying content across multiple columns
        9. Specifying alternate values for display
        10. Hiding elements based on conditions
      4. 11. Sorting and Grouping Data
        1. Sorting data
          1. Ways to sort data
          2. Sorting string data case-insensitively
        2. Grouping data
          1. Grouping data by intervals
            1. Grouping string data by intervals
            2. Grouping numeric data by intervals
            3. Grouping date-and-time data by intervals
          2. Sorting data at the group level
          3. Creating multiple groups
          4. Changing the order of groups
          5. Adding group headings
            1. Inserting group header rows
            2. Displaying group headings in the detail row
            3. Specifying expressions for group headings
        3. Tutorial 2: Grouping report data
          1. Task 1: Open the report design
          2. Task 2: Save the report as a new file
          3. Task 3: Add the credit limit field to the data set
          4. Task 4: Add credit limit data to the report
          5. Task 5: Group customer data by credit limit
          6. Task 6: Display credit limit ranges in the group header
          7. Task 7: Display aggregate information
            1. Display the number of customers in each group
            2. Display the number of customers in the report
          8. Task 8: Format the report
            1. Remove credit limit data from the detail rows
            2. Display group headings on the first row of each group
            3. Separate each group with a line
          9. Task 9: Preview the report in the BIRT report viewer
          10. Task 10: Display credit limit ranges in the table of contents
      5. 12. Aggregating Data
        1. Types of aggregate calculations
        2. Placing aggregate data
        3. Creating an aggregation
          1. Displaying the grand total in the table’s header row
          2. Displaying the customer total in the customer group header
          3. Displaying the order total in the order group footer
          4. Displaying the running total in the detail rows
          5. Viewing the column bindings for the report
        4. Filtering aggregate data
          1. Excluding null values from an aggregate calculation
          2. Counting rows that contain unique values
        5. Calculating percentages
          1. Calculating each order total as a percentage of the product sales total
          2. Calculating the product’s sales total as a percentage of a state’s sales total
          3. Calculating the state’s sales total as a percentage of the overall sales total
          4. Displaying the percentage values in the correct format
        6. Creating a summary report
          1. Hiding details
          2. Creating a top n report
      6. 13. Writing Expressions
        1. Basic concepts
          1. Data types
          2. Case sensitivity
          3. Multiline expressions
        2. Using the expression builder
        3. Manipulating numeric data
          1. Computing values from multiple numeric fields
            1. Order of precedence
            2. Division by zero
          2. Converting a number to a string
        4. Manipulating string data
          1. Substituting string values
          2. Combining values from multiple fields
          3. Removing null values from combined fields
          4. Getting parts of a string
          5. Matching string patterns
            1. Using pattern-matching in filter conditions
            2. Using pattern-matching to search for and replace string values
          6. Converting a string to a number
        5. Manipulating date-and-time data
          1. Displaying the current date
          2. Getting parts of a date or time as a number
          3. Calculating the time between two dates
          4. Calculating a date
        6. Using Boolean expressions
      7. 14. Filtering Data
        1. Filtering opportunities
        2. Specifying conditions on row retrieval
          1. Filtering database data
          2. Types of SQL filter conditions
          3. Filtering XML data
        3. Filtering data after row retrieval
          1. Deciding where to filter in BIRT
          2. Types of BIRT filter conditions
          3. Creating a filter condition
          4. Creating multiple filter conditions
      8. 15. Enabling the User to Filter Data
        1. About report parameters
        2. Planning to use report parameters
        3. Ways to enable user filtering
        4. Enabling the user to filter at query run time
          1. Creating a report parameter
          2. Inserting a parameter marker in the SQL query
          3. Creating a data set parameter and binding it to the report parameter
          4. Creating a SQL query at run time
        5. Enabling the user to filter after running the query
          1. Creating a report parameter
          2. Updating a filter condition when the report runs
        6. Designing the presentation of report parameters
          1. Providing a default value
          2. Providing the user with a list of values
            1. Creating a static list of values
            2. Creating a dynamic list of values
          3. Formatting report parameter values
          4. Organizing report parameters in groups
          5. Creating cascading report parameters
          6. Changing the order in which report parameters appear
        7. Testing the report parameters
        8. Tutorial 3: Creating and using report parameters
          1. Task 1: Create a new report
          2. Task 2: Build a data source
          3. Task 3: Build a data set
          4. Task 4: Lay out the data
          5. Task 5: Create a report parameter that prompts for a minimum product quantity
          6. Task 6: Create a report parameter that prompts for a vendor name
          7. Task 7: Edit the query
          8. Task 8: Create data set parameters and bind them to the report parameters
          9. Task 9: Test the report parameters
          10. Task 10: Provide the option to select all vendors
          11. Task 11: Create a title that uses the report parameter values
      9. 16. Building a Report That Contains Subreports
        1. Creating the report structure
          1. Building a report with independent subreports
          2. Building a report with linked subreports
            1. Creating the structure of a report with linked subreports
            2. Linking master and detail reports
        2. Tutorial 4: Building a report containing side-by-side subreports
          1. Task 1: Create a new report
          2. Task 2: Build a data source
          3. Task 3: Build a data set for the customer report
          4. Task 4: Build a data set for the orders subreport
          5. Task 5: Build a data set for the payments subreport
          6. Task 6: Create the customer master report
          7. Task 7: Create the orders subreport
          8. Task 8: Link the orders subreport to the customers master report
          9. Task 9: Create the payments subreport
          10. Task 10: Link the payments subreport to the customers master report
          11. Task 11: Display only customers that have orders or payments
          12. Task 12: Display the subreports next to one another
          13. Task 13: View the outline of the report
          14. Task 14: Format the report
            1. Highlight the customer names
            2. Edit the column headings
            3. Change the date formats
            4. Change the number formats
            5. Increase the vertical space between elements
            6. Increase the horizontal space between the Orders and Payments tables
            7. Add borders around the tables
            8. Increase the space between the table borders and contents
      10. 17. Using a Chart
        1. Surveying the types of charts
          1. About area charts
          2. About bar charts
          3. About tube, cone, and pyramid charts
          4. About line charts
          5. About meter charts
          6. About pie charts
          7. About scatter charts
          8. About bubble charts
          9. About stock charts
          10. About difference charts
          11. About Gantt charts
        2. Tutorial 5: Creating a standalone chart
          1. Task 1: Set up and query the data source
          2. Task 2: Add the chart to the report
          3. Task 3: Provide data for a chart
          4. Task 4: Enlarge the report design and preview the report
          5. Task 5: Change the chart title
          6. Task 6: Refine the chart appearance
        3. Exploring the chart builder
          1. Creating a chart with depth or three-dimensions
          2. Understanding chart output formats
        4. Using a chart as Part of a report
      11. 18. Displaying Data in Charts
        1. Linking a data set to a chart
        2. Understanding the axes of a chart
          1. About the axes
          2. Defining the axes
          3. Plotting different chart types
          4. Plotting the x- and y-axes
        3. Grouping and sorting category data
          1. Grouping date-and-time data
          2. Grouping textual data
          3. Grouping numeric data
          4. Sorting category data
        4. Grouping optional Y value data
          1. Grouping Y values in a bar chart
          2. Grouping multiple y-axis values in a stock chart
        5. Using multiple y-axes
        6. Transposing the chart axes
        7. Filtering data
        8. Changing default report parameters
        9. Creating data bindings
        10. Previewing data and chart
        11. Creating a combination chart
        12. Defining a meter chart
          1. Using multiple meters in a chart
          2. Using multiple dials in a chart
      12. 19. Laying Out and Formatting a Chart
        1. Formatting specific types of charts
          1. Formatting an area chart
          2. Formatting a line or a scatter chart
          3. Formatting a bar chart
          4. Formatting a bubble chart
          5. Formatting a difference chart
          6. Formatting a Gantt chart
          7. Formatting a meter chart
            1. Working with the dial size
            2. Working with the dial scale and markings
            3. Working with needle settings
            4. Arranging multiple meters
            5. Working with meter chart labels
            6. Working with dial regions
          8. Formatting a pie chart
            1. Working with leader lines
            2. Working with pie sectors
            3. Exploding sectors of a pie chart
            4. Arranging multiple pies
          9. Formatting a stock chart
          10. Formatting a three-dimensional chart
            1. Working with chart rotation
            2. Working with the space between elements
            3. Setting the wall or floor color
            4. Setting the series depth of a chart
        2. Laying out and formatting the chart
          1. Setting the background color for a chart
          2. Outlining a chart
          3. Adding padding around the chart
        3. Formatting numbers, dates and times
        4. Formatting the chart legend, plot and title
          1. Working with the plot area
            1. Setting the color, outline, or shadow for the plot
            2. Placing and adding space around the plot
            3. Specifying the plot size
          2. Formatting the chart title text
          3. Formatting the title area
          4. Working with the legend
            1. Setting the color, outline, or shadow for the legend
            2. Placing and adding space around a legend
            3. Showing series item values in a legend
            4. Formatting the legend text
            5. Adding a legend title
        5. Formatting axis titles, markers, lines and labels
          1. Working with an axis title
          2. Working with axis markers
            1. Adding an axis marker
            2. Formatting axis markers
          3. Working with an axis line
          4. Working with axis labels
          5. Defining the axis data type and number format
          6. Defining where one axis intersects the other
          7. Defining the scale of an axis
        6. Formatting a series
          1. Stacking series
          2. Hiding a series
          3. Making a series translucent
          4. Setting the color palette for a series
          5. Working with data points and data point labels
          6. Adding and formatting a curve-fitting line
      13. 20. Presenting Data in a Cross Tab
        1. Tutorial 6: Creating a cross tab
          1. Task 1: Create a new report
          2. Task 2: Build a data source
          3. Task 3: Build a data set
          4. Task 4: Add a cross tab to the report
          5. Task 5: Organize data for the cross tab
          6. Task 6: Insert data in the cross tab
          7. Task 7: Add grand totals
          8. Task 8: Format the cross tab
            1. Display a string in empty cells
            2. Change the format of the numbers
            3. Edit the column headings
            4. Use darker lines around the cross tab and the cells
        2. Understanding cube terms
        3. Setting up data for a cross tab
          1. About cubes
          2. Planning the data
          3. Designing the cube
          4. Designing data sets for a cube
            1. Comparing OLTP and OLAP
            2. Designing a single data set
            3. Designing multiple data sets in a star schema
          5. Building a multi-dataset cube
        4. Building a cross tab
          1. Areas of a cross tab
          2. Displaying multiple dimensions in row and column areas
          3. Displaying or hiding dimension levels
          4. Displaying multiple measures
          5. Adding subtotals and grand totals
          6. Displaying user-defined values in row and column headings
          7. Sorting cross tab data
          8. Limiting the amount of data the cross tab displays
    10. V. Enhancing Reports
      1. 21. Designing a Multipage Report
        1. Planning the page layout
        2. Controlling pagination
          1. Inserting page breaks
            1. Inserting page breaks in a report with multiple sections and groups
            2. Inserting page breaks in a master-detail report
          2. Specifying the number of rows per page
        3. Customizing the master page
          1. Viewing the master page
          2. Designing the page header and footer
            1. Displaying page numbers, the current date, and other text
            2. Displaying an image
            3. Specifying a header size
            4. Specifying a footer size
            5. Excluding header content from the first page
          3. Displaying an image in the background
            1. Designing the appearance of the background image
            2. Positioning the background image
          4. Displaying different content in different output formats
          5. Specifying page size, orientation, and margins
        4. Using multiple master pages
      2. 22. Adding Interactive Viewing Features
        1. Creating hyperlinks
          1. Linking two sections in a report
            1. Defining a bookmark
            2. Defining a hyperlink
          2. Linking to a section in a different report
          3. Linking to external content using a URI
        2. Creating a table of contents
          1. Using the default table of contents
          2. Defining a custom table of contents
        3. Adding interactive chart features
          1. Defining interactivity events and actions
          2. Chart formats and supported actions
        4. Adding interactive elements to an HTML report
        5. Identifying report elements for data export
      3. 23. Building a Shared Report Development Framework
        1. Comparing report designs, libraries and templates
          1. About the report design file type
          2. About the library file type
          3. About the template file type
        2. Sharing report elements in a library
          1. Dynamic library behavior
          2. Sharing styles
            1. Comparing themes and CSS files
            2. Using a style from a theme
            3. Designing multiple themes
          3. Understanding library name space
          4. Designing libraries for a shared environment
            1. Defining a general library
            2. Defining a structures library
            3. Defining a project library
            4. Understanding the resource folder
          5. Using a library
            1. Accessing report elements from a library in a report design
            2. Making local changes to a library element in a report design
            3. Using themes and styles from a library
            4. Creating a library
              1. Editing a report item in a library
        3. Sharing a report layout as a template
          1. Developing a custom template
            1. Designing template report items
            2. Registering a template with the New Report wizard
          2. Using a custom template
      4. 24. Localizing Text
        1. Overview of the localization process
        2. Assigning a resource file to a report
        3. Assigning a resource key to a label or text element
        4. Changing localized text in a label or text element to static text
        5. Assigning a resource key to chart text
        6. Changing localized chart text to static text
        7. Assigning a resource key to a value in a data element
        8. Assigning a resource key to a report parameter
        9. Editing a resource file
        10. Previewing a report in different locales
    11. Glossary