Oracle® Reports Building Reports
10g Release 2 (10.1.2)
In this chapter, you will learn about reports with headers that include values queried from the database. By following the steps in this chapter, you can generate the report output shown in Figure 17-1.
Figure 17-1 Group left report output with database values in header
In this example report, both the first and last department numbers found on each page are displayed in the page header.
This report uses one query and two groups. You'll also create two summary columns to provide the values for the header fields. To ensure unique field values for each page, you'll compute the values using the First and Last functions. The First function will return the first database value selected for a group, page, or report, and the Last function will return the last database value selected for a group, page, or report.
This report uses the default group left format with no modifications.
In this example, you will create a report that displays and summarizes employee data by department. To make the report more readable, you decide to add a header to each page that indicates which departments appear on the page.
As you build this example report, you will:
Add a page heading that repeats on all pages with database values.
To see a sample header with database values report, open the examples folder named
headingdb, then open the Oracle Reports example called
headingdb.rdf. For details on how to access it, see "Accessing the Example Reports" in the Preface.
To build the example in this chapter, you must have access to the Human Resources sample schema (HR) provided with the Oracle Database. If you do not know if you have access to this sample schema, contact your database administrator.
When you are creating a single-query report, such as this one, you can use the Report Wizard to create the data model and layout simultaneously.
To create a data model and layout:
Launch Reports Builder (or, if already open, choose File > New > Report)
In the Welcome or New Report dialog box, select Use the Report Wizard, then click OK.
If the Welcome page displays, click Next.
On the Report Type page, select Create Paper Layout Only, then click Next.
On the Style page, type a Title for your report, select Group Left, then click Next.
On the Data Source page, click SQL Query, then click Next.
On the Data page, enter the following
SELECT statement in the Data Source definition field:
SELECT DEPARTMENT_ID, FIRST_NAME, LAST_NAME, JOB_ID, SALARY FROM EMPLOYEES ORDER BY DEPARTMENT_ID, EMPLOYEE_ID
Note:You can enter this query in any of the following ways:
Note:If you are not already connected to a database, you will be prompted to connect to the database when you click Query Builder or Next. Ensure that you connect to a database that has the appropriate schema for this example. Section 17.1, "Prerequisites for this example" describes the sample schema requirements for this example.
On the Groups page, click DEPARTMENT_ID and click the right arrow (>) to move this field to the Group Fields list, then click Next.
On the Fields page, click the double right arrows (>>) to move all of the fields to the Displayed Fields list, then click Next.
On the Totals page, click Next.
On the Labels page, change the labels as follows, then click Next:
On the Template page, click Finish to display your report output in the Paper Design view.
In the Paper Design view, click the first number value underneath the Salary label.
Tip:If you are familiar with format mask syntax, you could now right-click the field values, choose Property Inspector, and choose or manually enter a value for the Format Mask property.
Click the Currency button in the toolbar. A currency symbol immediately appears next to all of the values.
Click the Add Decimal Place button twice. Two decimal places are added to the right of the decimal point.
Resize the field by clicking and dragging the rightmost handle of the field approximately 0.5 inches (1.5 centimeters) to the left.
Shift-click the Salary label itself.
Click the Align Right button in the toolbar. All of the values and the Salary label are immediately right aligned.
Click the first department number value under the Department label to select it.
Click the Align Center button in the toolbar.
Your report should look something like this:
Figure 17-2 Group left report output with values formatted
Save your report as
In the Report Editor, click the Data Model button in the toolbar to display the Data Model view.
Click the Summary Column tool in the tool palette, then click in an open area of the Data Model view to create a summary column.
Double-click the new summary column object (CS_1) to display the Property Inspector, and set the following properties:
Under General Information, set the Name property to FirstDeptRec.
Under Summary, set the Function property to First, set the Source property to DEPARTMENT_ID, set the Reset At property to Page.
Create a second summary column, and set its properties as follows:
Under General Information, set the Name property to LastDeptRec.
Under Summary, set the Function property to Last, set the Source property to DEPARTMENT_ID, set the Reset At property to Page.
Your data model should now look like this:
Figure 17-3 Data Model with Summary Columns for Header
Now that you have the data for the header, you need to add the corresponding layout objects to the margin area of the report.
In the Paper Design view, from the font lists in the toolbar, choose Arial (Western), point size 10.
In the Paper Layout view, click the Edit Margin button in the toolbar.
Click the Text tool in the tool palette.
Draw an area somewhere to the right of the logo image and type the following text:
Departments found on this page: &FirstDeptRec through &LastDeptRec
Move to an open area of the Paper Layout view and click the mouse button to exit text mode. Notice that the text object you just created is still selected, you can now adjust its positioning with the arrow keys. If you click in an open area a second time, the object is deselected.
Choose Program > Run Paper Layout to run your report.
Your report should now look like this:
Figure 17-4 Group left report output with database values in the header
Save your report.
Congratulations! You have successfully created a header with database values report. You now know how to:
create a data model and a layout.
add summary columns to populate a header.
add a heading that repeats on all pages with database values.
For more information on any of the wizards, views, or properties used in this example, refer to the Oracle Reports online Help, which is available in Reports Builder or hosted on the Oracle Technology Network (OTN), as described in Section 3.1.1, "Using the Oracle Reports online Help".