Table of Contents Learning the Basics About the report design environment Tutorial 1: Building a simple listing report Task 1: Create a new project Task 2: Create a new report Task 3: Build a data source Task 4: Build a data set Task 5: Lay out the report Task 6: Sort the data Task 7: Format the report Edit the column headings Format the column headings Display first and last names on the same line Increase the space between rows Task 8: Create a report title Connecting to a Data Source About BIRT data sources How to specify the connection information for a database or other JDBC data source How to add a JDBC driver How to delete all JDBC drivers that are in a JAR file Retrieving Data About data sets How to create a SQL query to retrieve data from a JDBC data source How to use a stored procedure to retrieve data from a JDBC data source How to view and change output columns How to add a computed field to a data set How to join data sets How to change the number of rows that appear in Preview Results Binding Data How to create a column binding Laying Out a Report How to add a row or column How to delete a row or column How to bind a data set to a table How to insert a linked image How to insert an embedded image How to insert images that are stored in a data source Displaying Text How to use a dynamic text element Setting text flow direction for a report Formatting Report Content How to create a style How to import styles How to link a CSS file How to apply a style How to modify a style How to delete a style How to create a formatting rule How to modify a formatting rule How to delete a formatting rule How to resize a column or row by dragging its boundary How to specify a row height How to specify a column width Resizing margins, borders, and padding of elements How to merge table or grid cells Specifying alternate values for display How to map data values to different display values How to hide an element conditionally Sorting and Grouping Data Tutorial 2: Grouping report data Task 1: Open the report design Task 2: Save the report as a new file Task 3: Add the credit limit field to the data set Task 4: Add credit limit data to the report Task 5: Group customer data by credit limit Task 6: Display credit limit ranges in the group header Task 7: Display aggregate information Display the number of customers in each group Display the number of customers in the report Task 8: Format the report Remove credit limit data from the detail rows Display group headings on the first row of each group Separate each group with a line Display the number of customers text on one line Task 9: Preview the report in the BIRT report viewer Task 10: Display credit limit ranges in the table of contents Aggregating Data How to display aggregate data Writing Expressions Filtering Data How to filter the rows to retrieve from a JDBC data source How to filter at the data set level How to filter at the report element level How to filter at the group level Enabling the User to Filter Data How to create a basic report parameter How to insert a parameter marker in the SQL query How to define a data set parameter How to update a filter condition dynamically when the report runs Providing the user with a list of values How to specify static report parameter values for users to select How to format a report parameter value How to create a parameter group How to create cascading parameters that use a single data set Building a Report That Contains Subreports Tutorial 3: Building a report containing side-by-side subreports Task 1: Create a new report Task 2: Build a data source Task 3: Build a data set for the customer report Task 4: Build a data set for the orders subreport Task 5: Build a data set for the payments subreport Task 6: Create the customer master report Task 7: Create the orders subreport Task 8: Link the orders subreport to the customers master report Task 9: Create the payments subreport Task 10: Link the payments subreport to the customers master report Task 11: Display only customers that have orders or payments Task 12: Display the subreports next to one another Task 13: View the outline of the report Task 14: Format the report Using a Chart Tutorial 4: Creating a standalone chart Task 1: Set up and query the data source Task 2: Add the chart to the report Task 3: Provide data for a chart Task 4: Enlarge the chart and preview the report Task 5: Change the chart title Task 6: Refine the chart appearance Displaying Data in Charts How to group categories on the x-axis How to change chart preview preferences Laying Out and Formatting a Chart How to set a chart’s background color How to modify the plot area How to format an axis title How to set the data type and format of an axis Presenting Data in a Cross Tab Tutorial 5: Creating a cross tab Task 1: Create a new report Task 2: Build a data source Task 3: Build a data set Task 4: Set up data for the cross tab Task 5: Add a cross tab to the report Task 6: Add grand totals How to create data sets for a multi-dataset cube How to create a multi-dataset cube How to display or hide levels How to display subtotals and grand totals How to sort cross tab data How to filter data at the cross tab level Designing a Multipage Report How to display text in the header and footer How to specify a header or footer size How to exclude header content from the first page Building a Shared Report Development Framework Understanding the resource folder How to publish a library from your workspace How to add an external library to the resource folder How to set a theme for a report design How to drop a theme from a report design How to add an element to a library How to create a template report item How to set up a template folder How to publish a template How to use a template report item Localizing Text How to assign a resource file to a report How to assign an existing resource key to a label or text element How to preview a report in a different locale Using Scripting in a Report Design Overview of BIRT scripting Choosing between JavaScript and Java Using both JavaScript and Java to write event handlers Using named expressions Using JavaScript to Write an Event Handler How to use BIRT Report Designer to enter a JavaScript event handler Determining method execution sequence Providing the ReportDesign.initialize code How to provide code for the ReportDesign.initialize method Providing code for the methods you want to track Providing the ReportDesign.afterFactory code Using Java to Write an Event Handler How to create an event handler class and add it to the Java project How to associate a Java class with a report element Scripting Reference Class BirtComp BirtComp.anyOf BirtComp.between BirtComp.compareString BirtComp.equalTo BirtComp.greaterOrEqual BirtComp.greaterThan BirtComp.lessOrEqual BirtComp.lessThan BirtComp.like BirtComp.match BirtComp.notBetween BirtComp.notEqual BirtComp.notLike Class BirtDateTime BirtDateTime.addDay BirtDateTime.addHour BirtDateTime.addMinute BirtDateTime.addMonth BirtDateTime.addQuarter BirtDateTime.addSecond BirtDateTime.addWeek BirtDateTime.addYear BirtDateTime.day BirtDateTime.diffDay BirtDateTime.diffHour BirtDateTime.diffMinute BirtDateTime.diffMonth BirtDateTime.diffQuarter BirtDateTime.diffSecond BirtDateTime.diffWeek BirtDateTime.diffYear BirtDateTime.month BirtDateTime.now BirtDateTime.quarter BirtDateTime.today BirtDateTime.week BirtDateTime.weekDay BirtDateTime.year Class BirtDuration BirtDuration.day BirtDuration.hour BirtDuration.isLongerThan BirtDuration.isShorterThan BirtDuration.minute BirtDuration.month BirtDuration.second BirtDuration.timeInMills BirtDuration.year Class BirtMath BirtMath.add BirtMath.ceiling BirtMath.divide BirtMath.mod BirtMath.multiply BirtMath.round BirtMath.roundDown BirtMath.roundUp BirtMath.safeDivide BirtMath.subtract Class BirtStr BirtStr.charLength BirtStr.concat BirtStr.indexOf BirtStr.left BirtStr.right BirtStr.search BirtStr.toLower BirtStr.toUpper BirtStr.trim BirtStr.trimLeft BirtStr.trimRight Class Finance Finance.ddb Finance.fv Finance.ipmt Finance.irr Finance.mirr Finance.nper Finance.npv Finance.percent Finance.pmt Finance.ppmt Finance.pv Finance.rate Finance.sln Finance.syd