Home > Store

BIRT: A Field Guide to Reporting

Register your product to gain access to bonus material or receive a coupon.

BIRT: A Field Guide to Reporting

Premium Website

  • Sorry, this book is no longer in print.
Not for Sale


  • Copyright 2007
  • Edition: 1st
  • Premium Website
  • ISBN-10: 0-321-44259-8
  • ISBN-13: 978-0-321-44259-8
  • eBook (Watermarked)
  • ISBN-10: 0-321-46784-1
  • ISBN-13: 978-0-321-46784-3

A new edition of this title is available, ISBN-10: 0321580273 ISBN-13: 9780321580276

The first in a two-book series about Business Intelligence and Reporting Technology, BIRT: A Field Guide to Reporting introduces reporting to a broad base of users. Built on the Eclipse platform, this exciting technology makes it possible for programmers and non-programmers to build and deploy complex reports with minimal effort.

BIRT: A Field Guide to Reporting presents information about how to develop and customize reports of progressive complexity using BIRT Report Designer. This tool was designed from the ground up for Web applications and uses a Web page-oriented design metaphor in contrast to older banded report writers that were developed before the advent of the Internet. This unique approach to report creation makes BIRT an approachable and effective tool for developers of all levels.

Report designs discussed include

  • Listing reports that include sorting, grouping, and totals
  • Summary reports, such as top N reports
  • Charts, including pie, line, bar, and gauge charts
  • Master-detail reports

Other topics discussed include

  • Understanding the technology
  • Planning report designs
  • Accessing data
  • Laying out and formatting reports
  • Building charts
  • Enhancing reports with interactive viewing, shared libraries, and localized text
  • Preparing reports for international data

Sample Content

Online Sample Chapter

Binding Data in BIRT

Downloadable Sample Chapter

Download the Sample Chapter from this book.

Table of Contents

Foreword xvii

Preface xxi

Acknowledgments xxvii

Part I Installing BIRT 1

Chapter 1 Prerequisites for BIRT 3

Requirements for the BIRT report designers 3

About installing required software 5

BIRT RCP Report Designer software requirements 5

BIRT Report Designer Full Eclipse Install software requirements 5

BIRT Report Designer software requirements 6

About types of BIRT builds 7

Chapter 2 Installing a BIRT Report Designer 9

Installing BIRT Report Designer 10

Downloading and installing BIRT Report Designer 10

Installing the auxiliary file for BIRT Report Designer 10

Testing the BIRT Report Designer installation 11

Installing BIRT Report Designer Full Eclipse Install 11

Downloading and installing BIRT Report Designer Full Eclipse Install 11

Installing the auxiliary file for BIRT Report Designer 12

Installing BIRT RCP Report Designer 12

Downloading and installing BIRT RCP Report Designer 13

Installing the auxiliary file for BIRT Report Designer 13

Testing the BIRT RCP Report Designer installation 14

Troubleshooting installation problems 14

Avoiding cache conflicts after you install a BIRT report designer 14

Specifying which Java Virtual Machine (JVM) to use when you start a BIRT report designer 15

Installing a language pack 15

Chapter 3 Updating a BIRT Installation 17

Using the Eclipse Update Manager to update BIRT Report Designer installation 17

Updating BIRT RCP Report Designer installation 18

Part II Getting Started 19

Chapter 4 Learning the Basics 21

About BIRT reports 21

Overview of the report design process 21

About the report design environment 23

Starting BIRT Report Designer 24

Report design views 26

Report design files 29

Report output formats 30

Previewing a report 31

Tutorial 1: Building a simple listing report 32

Task 1: Create a new project 32

Task 2: Create a new report 34

Task 3: Build a data source 36

Task 4: Build a data set 37

Task 5: Lay out the report 40

Task 6: Sort the data 43

Task 7: Format the report 44

Task 8: Create a report title 50

Next steps 52

Chapter 5 Planning Your Report 53

Identifying the content of the report 54

Determining how the report will be viewed 55

Considering international reporting requirements 56

Deciding the layout and format of the report 56

Drawing a mock-up 58

Considering reuse of report components 58

Managing report design resources 59

Deciding how the report will be deployed 59

Part III Accessing and Binding Data 61

Chapter 6 Connecting to a Data Source 63

Working with data sources 64

Accessing data using JDBC 67

Preparing to access a database 67

Creating a JDBC data source 67

Managing JDBC drivers 69

Restoring JDBC drivers 72

Accessing data in text files 73

Preparing to access your text file 73

Creating a flat file data source 75

Accessing XML data 76

Preparing to access XML data 76

Creating an XML data source 76

Setting connection properties when a report runs 77

Troubleshooting data source problems 79

Chapter 7 Retrieving Data 81

Creating a BIRT data set 81

Changing the data source for a data set 84

Deleting a data set 84

Selecting data 85

Using a SQL query to retrieve data 85

Using a stored procedure to retrieve data 89

Specifying what data to retrieve from a text file 91

Specifying what data to retrieve from an XML data source 92

Viewing and changing output columns 96

Previewing a data set 97

Adding a computed field to a data set 98

Joining data sets 100

Using additional data set options 102

Creating a dynamic query 102

Setting data set cache preferences 103

Chapter 8 Binding Data 105

Understanding column bindings 106

Descriptive names 107

Dynamic updates of calculated data 107

Creating column bindings 108

Editing and deleting column bindings 111

More about column-binding expressions 111

Part IV Designing Reports 113

Chapter 9 Laying Out a Report 115

Understanding the layout model 115

About the report layout elements 117

Overview of the layout process 117

Creating the sections of a report 118

Organizing elements in a grid 118

Adding rows and columns 119

Deleting rows and columns 120

Organizing elements in a table 120

Adjusting table rows and columns 123

Organizing elements in a list 123

Placing report elements 125

Placing report elements side by side 126

Inserting data set fields 127

Inserting computed fields 127

Inserting images 129

Chapter 10 Displaying Text 133

Types of textual elements 133

Deciding which textual element to use 135

Using a dynamic text element 138

Using a label element 139

Using a text element 140

Applying multiple style formats in a text element 141

Combining a JavaScript expression with static text in a text element 141

Combining a value from a data set field with static text in a text element 142

Formatting dynamic values in a text element 143

Displaying data set field values that are stored as HTML text 143

Chapter 11 Formatting Report Content 145

Formatting data 146

Formatting numeric data 147

Formatting date-and-time data 149

Formatting string data 150

Formatting with styles 152

Creating styles 153

Importing styles 156

Applying a style 158

Modifying a style 158

Deleting a style 158

Formatting data based on conditions 158

Creating a formatting rule 159

Modifying a formatting rule 161

Creating multiple formatting rules 162

Deleting a formatting rule 163

Alternating row colors in a table 163

Specifying alignment of content in a table or grid 165

Aligning text horizontally 165

Aligning content vertically 165

Adjusting the spacing of content in a report 166

Resizing rows and columns 168

Resizing margins, borders, and padding of elements 170

Displaying content across multiple columns 171

Specifying alternate values for display 173

Hiding elements based on conditions 175

Chapter 12 Sorting and Grouping Data 179

Sorting data 180

Ways to sort data 181

Sorting string data case-insensitively 183

Grouping data 183

Grouping data by intervals 187

Sorting data at the group level 192

Creating multiple groups 195

Changing the order of groups 197

Adding group headings 199

Tutorial 2: Grouping report data 202

Task 1: Open the report design 203

Task 2: Save the report as a new file 204

Task 3: Add the credit limit field to the data set 204

Task 4: Add credit limit data to the report 205

Task 5: Group customer data by credit limit 206

Task 6: Display credit limit ranges in the group header 209

Task 7: Display aggregate information 210

Task 8: Format the report 213

Task 9: Preview the report in the BIRT report viewer 215

Task 10: Display credit limit ranges in the table of contents 216

Chapter 13 Aggregating Data 219

Types of aggregate calculations 220

Placing aggregate data 222

Writing aggregate expressions 224

Accessing aggregate functions in the expression builder 226

Filtering aggregate data 227

Excluding null values from an aggregate calculation 228

Counting rows that contain unique values 228

Getting an aggregate value from another group 229

Calculating percentages 231

Creating a summary report 234

Chapter 14 Writing Expressions 237

Basic concepts 238

Data types 238

Case sensitivity 238

Multiline expressions 239

Using Expression Builder 239

Manipulating numeric data 242

Computing values from multiple numeric fields 242

Converting a number to a string 244

Manipulating string data 245

Substituting string values 245

Combining values from multiple fields 246

Removing null values from combined fields 247

Getting parts of a string 247

Matching string patterns 249

Converting a string to a number 252

Manipulating date-and-time data 252

Displaying the current date 253

Getting parts of a date or time as a number 253

Calculating the time between two dates 253

Calculating a date 254

Using Boolean expressions 254

Chapter 15 Filtering Data 257

Filtering opportunities 257

Specifying conditions on row retrieval 258

Filtering database data 258

Types of SQL filter conditions 259

Filtering XML data 260

Filtering data after row retrieval 262

Deciding where to filter in BIRT 262

Types of BIRT filter conditions 265

Creating a filter condition 267

Creating multiple filter conditions 272

Chapter 16 Enabling the User to Filter Data 275

About report parameters 275

Planning to use report parameters 277

Ways to enable user filtering 277

Enabling the user to filter at query run time 278

Task 1: Creating a report parameter 278

Task 2: Inserting a parameter marker in the SQL query 280

Task 3: Creating a data set parameter and binding it to the report parameter 281

Enabling the user to filter after running the query 285

Task 1: Creating a report parameter 285

Task 2: Updating a filter condition when the report runs 285

Designing the presentation of report parameters 287

Providing a default value 289

Providing the user with a list of values 290

Formatting report parameter values 296

Enabling the user to specify null or blank values 297

Organizing report parameters in groups 298

Creating cascading report parameters 301

Changing the order in which report parameters appear 308

Testing the report parameters 308

Chapter 17 Building a Report That Contains Subreports 311

Creating the report structure 312

Building a report with independent subreports 312

Building a report with linked subreports 313

Tutorial 3: Building a report with side-by-side subreports 316

Task 1: Create a new report 318

Task 2: Build a data source 318

Task 3: Build a data set for the customer report 318

Task 4: Build a data set for the orders subreport 320

Task 5: Build a data set for the payments subreport 322

Task 6: Create the customer master report 323

Task 7: Create the orders subreport 325

Task 8: Link the orders subreport to the customers master report 327

Task 9: Create the payments subreport 329

Task 10: Link the payments subreport to the customers master report 331

Task 11: Display only customers that have orders or payments 332

Task 12: Display the subreports next to one another 333

Task 13: Format the report 335

Chapter 18 Using a Chart in a Report 349

Tutorial 4: Creating a chart 349Task 1: Set up the report design file 350

Task 2: Add the chart to the report 351

Task 3: Providing data for a chart 353

Task 4: View the chart 356

Task 5: Updating the chart title 357

Task 6: Refine the chart appearance 359

Next steps 364

Exploring the chart builder 365

Select Chart Type 365

Select Data 366

Format Chart 367

Positioning a chart 373

Understanding types of charts 374

About area charts 375

About bar charts 376

About line charts 377

About meter charts 377

About pie charts 378

About scatter charts 378

About stock charts 379

Understanding chart output formats 379

Chapter 19 Displaying Data in Charts 381

Understanding chart data concepts 381

Using expressions to set up chart series 383

Selecting a chart data set 384

Aggregating information for a chart 385

Setting up an expression in the chart builder 386

Formatting the data that an expression returns 387

Defining series expressions in different chart types 389

Defining series in an area, bar, or line chart 389

Defining series in a meter chart 392

Defining series in a pie chart 395

Defining series in a scatter chart 398

Defining series in a stock chart 400

Defining series in a combination chart 402

Sorting category series or base series data 403

Grouping category data 404

Working with data on a chart axis 405

Understanding value and category axes 406

Defining the axis data type and number format 407

Defining where one axis intersects the other 408

Defining the scale of an axis 409

Using multiple y-axes 410

Transposing the chart axes 411

Setting chart data preview preferences 412

Chapter 20 Laying Out and Formatting a Chart 415

Laying out and formatting the chart area 416

Setting the background color for a chart 417

Outlining a chart 419

Setting the wall or floor color of a chart 420

Adding padding around the chart 421

Formatting the chart plot, title, and legend areas 422

Working with the plot area 425

Working with the chart title 429

Working with the legend 433

Formatting an axis 439

Working with an axis title 439

Working with axis markers 440

Working with an axis line 443

Working with axis labels 445

Formatting a series 448

Setting the series type 449

Hiding a series 449

Making a series translucent 449

Setting the color palette for a series 450

Adding and formatting a curve-fitting line 452

Stacking series 454

Working with different series types 455

Working with data points and data point labels 472

Using styles to format a chart 474

Part V Enhancing Reports 475

Chapter 21 Designing a Multipage Report 477

Planning the page layout 477

Controlling pagination 478

Inserting page breaks 478

Inserting page breaks in a report with multiple sections and groups 479

Inserting page breaks in a master-detail report 482

Specifying the number of rows per page 484

Customizing the master page 485

Viewing the master page 485

Designing the page header and footer 486

Displaying page numbers, the current date, and other text 486

Displaying an image 487

Specifying a header size 488

Specifying a footer size 488

Excluding header content from the first page 489

Displaying an image in the background 490

Designing the appearance of the background image 492

Positioning the background image 492

Displaying different content in a PDF and HTML report 493

Specifying page size, orientation, and margins 494

Using multiple master pages 494

Chapter 22 Adding Interactive Viewing Features 497

Creating hyperlinks 497

Linking two sections in a report 498

Linking to a section in a different report 499

Linking to external content using a URI 501

Creating a table of contents 503

Adding interactive chart features 505

Adding interactivity events and actions 508

Linking a chart to a report 510

Exporting report data 511

Chapter 23 Building a Shared Report Development Framework 515

Comparing report designs, libraries, and templates 516

About the report design file type 516

About the library file type 517

About the template file type 517

Sharing report elements in a library 517

Dynamic library behavior 519

Sharing styles 520

Understanding library name space 522

Designing libraries for a shared environment 522

Using a library 526

Sharing a report layout as a template 532

Developing a custom template 534

Using a custom template 538

Chapter 24 Localizing Text 541

Overview of the localization process 542

Assigning a resource file to a report 543

Assigning a resource key to a label or text element 545

Changing localized text in a label or text element to static text 546

Assigning a resource key to chart text 546

Changing localized chart text to static text 548

Assigning a resource key to a report parameter 549

Editing a resource file 550

Previewing a report in different locales 550

Glossary 553

Index 613


Download the Foreword from this book.


Download the Index file from this book.


Submit Errata

More Information

InformIT Promotional Mailings & Special Offers

I would like to receive exclusive offers and hear about products from InformIT and its family of brands. I can unsubscribe at any time.


Pearson Education, Inc., 221 River Street, Hoboken, New Jersey 07030, (Pearson) presents this site to provide information about products and services that can be purchased through this site.

This privacy notice provides an overview of our commitment to privacy and describes how we collect, protect, use and share personal information collected through this site. Please note that other Pearson websites and online products and services have their own separate privacy policies.

Collection and Use of Information

To conduct business and deliver products and services, Pearson collects and uses personal information in several ways in connection with this site, including:

Questions and Inquiries

For inquiries and questions, we collect the inquiry or question, together with name, contact details (email address, phone number and mailing address) and any other additional information voluntarily submitted to us through a Contact Us form or an email. We use this information to address the inquiry and respond to the question.

Online Store

For orders and purchases placed through our online store on this site, we collect order details, name, institution name and address (if applicable), email address, phone number, shipping and billing addresses, credit/debit card information, shipping options and any instructions. We use this information to complete transactions, fulfill orders, communicate with individuals placing orders or visiting the online store, and for related purposes.


Pearson may offer opportunities to provide feedback or participate in surveys, including surveys evaluating Pearson products, services or sites. Participation is voluntary. Pearson collects information requested in the survey questions and uses the information to evaluate, support, maintain and improve products, services or sites, develop new products and services, conduct educational research and for other purposes specified in the survey.

Contests and Drawings

Occasionally, we may sponsor a contest or drawing. Participation is optional. Pearson collects name, contact information and other information specified on the entry form for the contest or drawing to conduct the contest or drawing. Pearson may collect additional personal information from the winners of a contest or drawing in order to award the prize and for tax reporting purposes, as required by law.


If you have elected to receive email newsletters or promotional mailings and special offers but want to unsubscribe, simply email information@informit.com.

Service Announcements

On rare occasions it is necessary to send out a strictly service related announcement. For instance, if our service is temporarily suspended for maintenance we might send users an email. Generally, users may not opt-out of these communications, though they can deactivate their account information. However, these communications are not promotional in nature.

Customer Service

We communicate with users on a regular basis to provide requested services and in regard to issues relating to their account we reply via email or phone in accordance with the users' wishes when a user submits their information through our Contact Us form.

Other Collection and Use of Information

Application and System Logs

Pearson automatically collects log data to help ensure the delivery, availability and security of this site. Log data may include technical information about how a user or visitor connected to this site, such as browser type, type of computer/device, operating system, internet service provider and IP address. We use this information for support purposes and to monitor the health of the site, identify problems, improve service, detect unauthorized access and fraudulent activity, prevent and respond to security incidents and appropriately scale computing resources.

Web Analytics

Pearson may use third party web trend analytical services, including Google Analytics, to collect visitor information, such as IP addresses, browser types, referring pages, pages visited and time spent on a particular site. While these analytical services collect and report information on an anonymous basis, they may use cookies to gather web trend information. The information gathered may enable Pearson (but not the third party web trend services) to link information with application and system log data. Pearson uses this information for system administration and to identify problems, improve service, detect unauthorized access and fraudulent activity, prevent and respond to security incidents, appropriately scale computing resources and otherwise support and deliver this site and its services.

Cookies and Related Technologies

This site uses cookies and similar technologies to personalize content, measure traffic patterns, control security, track use and access of information on this site, and provide interest-based messages and advertising. Users can manage and block the use of cookies through their browser. Disabling or blocking certain cookies may limit the functionality of this site.

Do Not Track

This site currently does not respond to Do Not Track signals.


Pearson uses appropriate physical, administrative and technical security measures to protect personal information from unauthorized access, use and disclosure.


This site is not directed to children under the age of 13.


Pearson may send or direct marketing communications to users, provided that

  • Pearson will not use personal information collected or processed as a K-12 school service provider for the purpose of directed or targeted advertising.
  • Such marketing is consistent with applicable law and Pearson's legal obligations.
  • Pearson will not knowingly direct or send marketing communications to an individual who has expressed a preference not to receive marketing.
  • Where required by applicable law, express or implied consent to marketing exists and has not been withdrawn.

Pearson may provide personal information to a third party service provider on a restricted basis to provide marketing solely on behalf of Pearson or an affiliate or customer for whom Pearson is a service provider. Marketing preferences may be changed at any time.

Correcting/Updating Personal Information

If a user's personally identifiable information changes (such as your postal address or email address), we provide a way to correct or update that user's personal data provided to us. This can be done on the Account page. If a user no longer desires our service and desires to delete his or her account, please contact us at customer-service@informit.com and we will process the deletion of a user's account.


Users can always make an informed choice as to whether they should proceed with certain services offered by InformIT. If you choose to remove yourself from our mailing list(s) simply visit the following page and uncheck any communication you no longer want to receive: www.informit.com/u.aspx.

Sale of Personal Information

Pearson does not rent or sell personal information in exchange for any payment of money.

While Pearson does not sell personal information, as defined in Nevada law, Nevada residents may email a request for no sale of their personal information to NevadaDesignatedRequest@pearson.com.

Supplemental Privacy Statement for California Residents

California residents should read our Supplemental privacy statement for California residents in conjunction with this Privacy Notice. The Supplemental privacy statement for California residents explains Pearson's commitment to comply with California law and applies to personal information of California residents collected in connection with this site and the Services.

Sharing and Disclosure

Pearson may disclose personal information, as follows:

  • As required by law.
  • With the consent of the individual (or their parent, if the individual is a minor)
  • In response to a subpoena, court order or legal process, to the extent permitted or required by law
  • To protect the security and safety of individuals, data, assets and systems, consistent with applicable law
  • In connection the sale, joint venture or other transfer of some or all of its company or assets, subject to the provisions of this Privacy Notice
  • To investigate or address actual or suspected fraud or other illegal activities
  • To exercise its legal rights, including enforcement of the Terms of Use for this site or another contract
  • To affiliated Pearson companies and other companies and organizations who perform work for Pearson and are obligated to protect the privacy of personal information consistent with this Privacy Notice
  • To a school, organization, company or government agency, where Pearson collects or processes the personal information in a school setting or on behalf of such organization, company or government agency.


This web site contains links to other sites. Please be aware that we are not responsible for the privacy practices of such other sites. We encourage our users to be aware when they leave our site and to read the privacy statements of each and every web site that collects Personal Information. This privacy statement applies solely to information collected by this web site.

Requests and Contact

Please contact us about this Privacy Notice or if you have any requests or questions relating to the privacy of your personal information.

Changes to this Privacy Notice

We may revise this Privacy Notice through an updated posting. We will identify the effective date of the revision in the posting. Often, updates are made to provide greater clarity or to comply with changes in regulatory requirements. If the updates involve material changes to the collection, protection, use or disclosure of Personal Information, Pearson will provide notice of the change through a conspicuous notice on this site or other appropriate way. Continued use of the site after the effective date of a posted revision evidences acceptance. Please contact us if you have questions or concerns about the Privacy Notice or any objection to any revisions.

Last Update: November 17, 2020