Share via


Design Choices to Optimize Performance

When designing your reports, and especially when designing reports for the Web, you should allow report users to drive the data they see. In other words, display summarized information so each user can navigate the report quickly and then drill down to access additional data. In this way, Web traffic and response times are minimized, because only the data requested by the user is transferred from the database server.

These are only a few of the benefits of designing user-driven reports:

  • Report users gain interactive control over the type and quantity of information they view over the Web.
  • Data transfer and network traffic decrease, because only the information requested by users is returned from the database server.
  • When users need real-time reporting of live data over the Web, user-oriented reports respond quickly and communicate efficiently with the database server.
  • Reports become more useful, because each user customizes the report's contents, thereby creating a reporting solution specific to his or her particular decision-making problem.

Summary Reports

Designing and distributing summary reports is a relatively easy way to ensure that users quickly find the data they need over the Web. A summary report can include as much data as any other report. However, by hiding a summary report's Details section, you avoid overwhelming users with data they may not immediately need.

When the Details section is hidden, users navigate with the Group tree first, to locate the desired data. Then, by drilling down on the report, they can request specific data, which is returned quickly without unnecessary records. This is especially important for improving navigation of long summary reports, which might consist of hundreds, thousands, or even tens of thousands of pages.

On-Demand Subreports

If your report has a section that handles a large number of records, you can put that section into an on-demand subreport. An on-demand subreport appears as a hyperlink in the primary report. When you open the primary report, no data is retrieved for the on-demand subreport until you drill down on the hyperlink.

For example, when designing a report that shows each employee's quarterly sales for each product and each product type, you might also want to track each employee's progress by including weekly sales information. This additional data, however, may not be of interest to many users viewing the report. In such a case, extract the weekly sales portion of the report and attach it as an on-demand subreport. Detailed information about weekly sales is retrieved from the database only when a user drills down on the on-demand subreport.

Many report objects — such as large cross-tabs and advanced charts — are ideal candidates to include in on-demand subreports, so that the object is not processed until you drill down.

You could also place such report objects in a hidden Details section of a report that uses the Perform Grouping On Server option. When you do this, the database server performs the majority of the processing, and only a subset of the records is transferred from the server to the local machine.

Linking Tables instead of Linking Subreports

Whenever possible, coordinate your report data by linking database tables with the Visual Linking Expert, rather than by linking regular subreports — that is, subreports that aren't on-demand subreports — to the main report. Since each subreport is run as a separate report, linked tables often have a performance advantage.

See Also