Skip to main content
All CollectionsHelp ArticlesApricot Native ReportingBuilding Reports
FAQs: Best Practices for Large Reports (Native Reporting)
FAQs: Best Practices for Large Reports (Native Reporting)
Updated yesterday

Creating comprehensive reports for your organization that also meet complex funder reporting requirements often leads to large reports with many sections and multiple levels of analysis.

Learn how to accommodate the need for sophisticated reports while providing a positive experience for users running or modifying the report below.

Q: Is there a size limit for native reports?

Our recommended best practice is to limit the size of a report to around ten sections.


โ€‹Note: Each limit or alias used in a report counts as a additional background section within the report. To learn more about limit sections, click here.

Q: Is there a limit to how many connecting forms a section can have?

No, but we recommend that each report section only contains forms with related data. The report section in the screenshot below times out upon loading because it pulls in a large amount of data from too many unrelated forms. The form's properties (accessed by clicking the form name) are also only required 'Sometimes', which creates rows for all Tier 1 records whether or not they have responses saved for each Tier 2 form.

Instead, use linking fields in forms with related data to prevent duplicated rows in the report when pulling in data from each form. They will appear as indented below the related form. Requiring that a Tier 1 record 'Always' has a record for a linked Tier 2 form in order to be included in the report follows best practices to ensure larger reports run smoothly.

To learn more about connecting forms, click here.

Q: Are there fields that slow down reports more than others?

Report columns that pull data from Append Only text fields have to query more rows of data compared to most other field types, which may negatively impact report performance if there's a significant amount of data to aggregate.

We recommend using Append Only text fields as little as possible and perhaps using a different type of text field, such as Multi-Line, in order to capture and report on applicable data.

Q: Can I hide report sections or rows of data from users?

Yes! We actually recommend you tailor the level of detail in your reports to consider your audience and only show what's necessary.

To hide a report section when the report is run, click the green gear icon next to the section name to open its properties and select "Hidden" under Display Style. This is most useful for sections that only contain information that's fed into a summary section.

Two other useful display styles to hide rows of data include:

  • Graph Only: This displays only a graph of the data and not any of the columns.

  • Totals: This displays only the summaries for columns that have been set to display a Summary in their Column Properties, such as Total or Average. Individual records will not display.

Q: Can I open a report without having to load all of its data each time?

You can turn off a report or report section's Auto Run settings to prevent the report from loading every row of data each time you open the report in Edit or Run mode. We recommend this if you're frequently opening a report in the Report Builder or if your users don't need every section immediately displayed when they run a report.

To learn more about Auto Run, click here.

Q: Can I run a native report without internet connection?

If you or your users have less-than-optimal internet connection or an older machine, it's possible to export a native report to work with the data in Excel or Open Office rather than in a web browser. This can prevent the report from stalling out or freezing when attempting to open it.

To export a report, expand the My Apricot Tools category in the navigation bar and select 'My Reports'. Find the report within its report category, then hover over the Actions menu next to the report name to select 'Export'.

What else do you need help with?

Did this answer your question?