Designing Faster Reports
No one likes a slow report. Here are our tips on avoiding them.
Use default pagination. Reports that return more than 20 rows are paginated by default ("1 - 20 of 3,333") and have other options, including "View All", both in run mode and edit mode. Report writers should generally avoid saving reports with the "View All" option selected, especially if the default filters return thousands and thousands of rows.
Displaying all rows isn't necessary to see column totals for all the data, or for summations and crosstabs to display counts on all of the data.
Avoid, or remove, unnecessary columns and tables. The report framework attempts to avoid processing columns that aren't displayed on any given run of a report, but there is always some overhead for each column and for each join created by subtables.
Apply sensible filter defaults. Avoid returning unnecessary rows each time a report is run. A "Closed Cases" report, for example, should have a Dispostion = Closed filter, and a Date Closed filter that defaults to a preset like "Previous Month" or even "Previous Year". Likewise, time reports should have a Date of Service filter with a preset default, instead of potentially returning thousands or millions of rows.
Don't set Run on Open. Unchecking this option does not make a report run faster, but is useful if people running a slow report will typically change the filters each time they run it. Unchecking this option avoids the initial delay of building the data table, allowing people to change filters, then click on the "Run Report" button. Check or uncheck this option in the Attributes section of a report.