17
Building a Header with Database Values Report
Figure 17-1 Group left report output with database values in header
Text description of the illustration headingb_fin.gif
In this example report, both the first and last department numbers found on each page are displayed in the page header.
Concepts
- 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.
Example Scenario
Suppose that you want to 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.
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.
Table 17-1 Features demonstrated in this example
17.1 Prerequisites for this example
To build the example in this chapter, you must have access to the sample schema provided with the Oracle9i database. If you don't know if you have access to this sample schema, contact your database administrator. You should have access to the "Human Resources" portion of the schema to complete this example.
17.2 Create a data model and a group left layout
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:
- Copy and paste the code from the provided text file called
heading_code.txt into the Data Source definition field.
- Click Query Builder to build the query without entering any code manually.
- Type the code in the Data Source definition field.
|
Click Next.
Note:
If you are not already connected to a database, you will be prompted to connect to the database when you click 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 on 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 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
Text description of the illustration headingb_out1.gif
- Save your report as
headingb_<your initials>.rdf
.
17.3 Add summary columns for the header data
For the header that you want to create (i.e., departments found on this page), you need to create two summary columns that compute the values you need in order to populate the header.
- 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 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
Text description of the illustration headingb_dm.gif
17.4 Add a page heading
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.
Tip:
If the header values on the first page appear incorrectly after you exit text mode (e.g., 50 through 50), choose Program > Run Paper Layout.
|
Your report should now look like this:
Figure 17-4 Group left report output with database values in the header
Text description of the illustration headingb_fin.gif
- Save your report.
17.5 Summary
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 Reports Builder online help, which you can access in two ways: