Creating Database Reports Chapter 7 A Guide to Oracle9i 1 Lesson A Objectives • • • • • • • Understand Reports Builder report styles Use the Report Wizard to create a report Configure the appearance of a report View a report in a Web browser Create a master-detail report Create a custom template Apply a custom template to a report A Guide to Oracle9i 2 Introduction to Reports Builder Database Reports • Reports Builder allows developers to distribute reports as: – – – – Web pages .pdf files Printed And other formats • Layout styles include: – – – – – Tabular Form Mailing Label Form Letter Matrix A Guide to Oracle9i 3 Sample Matrix Report A Guide to Oracle9i 4 Using the Report Wizard to Create a Report • Basic steps using Report Wizard: – Specify the data that the report displays – Select the report style – Configure the report properties and layout A Guide to Oracle9i 5 Paper Design Window A Guide to Oracle9i 6 Modifying the Report Appearance • Use Reports Builder environment to modify the report appearance and customize the report features • Paper design window shows how report appears on paper • To view as web page – preview paper design as web page • Make sure form displays correct values before editing design • Use the Paper Design window to change fonts, item sizes, etc. A Guide to Oracle9i 7 Reports Builder Object Navigator A Guide to Oracle9i 8 Viewing the Report as a Web Page • To preview a report as a Web page: – Click the Run Web Layout button on the Reports Builder toolbar – Creates the Web page source code for the report – Displays as Page Design view without any formatting changes – To view formatting changes: preview the report using either a Paginated HTML or a Paginated HTMLCSS format A Guide to Oracle9i 9 Viewing a Report as a Web Page A Guide to Oracle9i 10 Creating a Master-Detail Report • • • • Report can display master-detail data SQL query must retrieve master and detail data Use Groups page to define master and detail groups Two report styles: – Group left: master records appear on the left side of the report; detail records appear in columns to the right of the master records – Group above: detail records appear below the master records • Place column names in Levels on Available Columns page A Guide to Oracle9i 11 Example Grouped Report A Guide to Oracle9i 12 Creating Groups/Levels A Guide to Oracle9i 13 Report Templates • Custom templates store common formatting information such as: – Font – Background color – Graphics • Stored in .tdf file • Use Paper Layout Template Editor to edit A Guide to Oracle9i 14 Paper Layout Template Editor A Guide to Oracle9i 15 Applying Custom Templates to Reports • Templates are applied to reports using Reports Wizard Template page • Use Template file specification option button to select a custom template • Or register template as a predefined template: – Modify the Developer user preferences file, so the custom template appears in the Predefined Templates list – Copy the template file to the Reports Builder templates folder A Guide to Oracle9i 16 Lesson B Objectives • • • • Understand the components of a report Modify report components Modify the format of master-detail reports Create parameters to allow the user to customize report data A Guide to Oracle9i 17 Report Components • Data Model – Specifies the data that the report displays • Paper Layout view – Displays the report components as symbolic objects • Report frames – Group related report objects A Guide to Oracle9i 18 Data Model Window A Guide to Oracle9i 19 Data Model Window • Modify data model properties using Property Inspector • Can modify the report’s SQL query • Create a group filter to limit the number of records that a report query retrieves – Assign a value to the Filter Type property in the report record group’s Property Inspector – Faster to limit retrieved values with SQL query where clause A Guide to Oracle9i 20 Paper Layout Window A Guide to Oracle9i 21 Report Display • Reports have a header, main section and footer • Frames – Containers for grouping related report objects – Use to set specific properties for a group of objects • Record group – Have corresponding group frame – Encloses a repeating frame and an optional header frame A Guide to Oracle9i 22 Components of a Master-Detail Report • Master-detail reports: – Display master-detail data – Multiple record groups: master in one, detail in another – Multiple group frames A Guide to Oracle9i 23 Master-Detail Data Model A Guide to Oracle9i 24 Master-Detail Report Layout A Guide to Oracle9i 25 Master-Detail Group Frame Relationships A Guide to Oracle9i 26 Report Parameters • Specifies how a report appears • Specifies the report’s behavior when it runs • System parameters – Specify properties that control how the report appears in the user display and how the report application environment behaves – Examples: currency symbol, whether the print dialog box opens when the user prints the report • User parameters – Allow the user to select values that specify the data that the report displays – Example: allow the user to select a specific term ID value from a list, and the report would then display class lists for that term only A Guide to Oracle9i 27 System Parameters A Guide to Oracle9i 28 User Parameters • User selects from parameter list • Inserted into search condition • To create: – Create the user parameter – Create the parameter list – Modify the report query so it uses the parameter as a search condition A Guide to Oracle9i 29 Lesson C Objectives • • • • • Display image data in a report Manually create queries and data links Create summary columns Create formula columns Create reports that display formatted data in a Web browser window A Guide to Oracle9i 30 Displaying Image Data In Reports • Retrieve and display LOB image data on reports • Use Property Inspector to change File Format to Image to display image data A Guide to Oracle9i 31 Report with Images from the Database A Guide to Oracle9i 32 Creating Report Queries and Data Links Manually • To create a query manually: – Open the Data Model window – Select the SQL Query tool on the Data Model tool palette – Click in the painting region, and type the SQL query • To create a data link: – Select the Data Link tool on the Data Model tool palette – Draw a link between linked objects • Types of data links: – Query to Query – Group to Group – Column to Column A Guide to Oracle9i 33 Manually Creating a Query and Data Link A Guide to Oracle9i 34 Creating Reports that Display Calculated Values • Formula columns – Display values that PL/SQL functions calculate using report data field values as input parameters • Summary columns – Perform summary functions (such as SUM,AVG, or MAX) on report data fields A Guide to Oracle9i 35 Example of Calculated Values A Guide to Oracle9i 36 Creating Formula Columns • Formula columns: – Display a value that a user-defined function returns as a result of performing computations on report data values • To create: – Create the formula column in the report Data Model – Write the user-defined function that returns the calculated value for the formula column – Create a layout field in the report to display the formula column value A Guide to Oracle9i 37 Syntax for Formula Column A Guide to Oracle9i 38 Creating Summary Columns • Summary columns: – Return a summary value, such as the sum or average, of a series of data fields in a repeating frame • Create summary columns for any report data field using the Totals page in the Report Wizard • Can also create summary columns manually A Guide to Oracle9i 39 Creating Summary Columns with Reports Wizard A Guide to Oracle9i 40 Displaying Formatted Reports as Web Pages • Use Oracle9i Application Server to generate reports dynamically • See Figure 7-70 A Guide to Oracle9i 41 Summary • Reports Builder creates formatted reports using database data • Reports are drawn using the Paper Design Window • Templates can be created to format reports • Reports can be created to display master-detail data • Report columns can be set to display calculations, formulas and summary information • Reports can be generated in paper, pdf, or html format • Dynamic reports are generated using Oracle9i Application Server A Guide to Oracle9i 42