Reference: Best Practices for Large Volume Reports
Consider these performance best practices to optimize reports containing large volumes of data:
Object | Best Practice |
|---|---|
Report Data Sources | Use indexed report data sources (RDSs) instead of nonindexed RDSs to optimize report performance.
For optimal report performance, select the RDS that returns the fewest business object instances that you need. Example: You want to run a report that displays a row for each worker who received a bonus within a specified date range. Instead of using the All Active and Terminated Workers RDS, use the transactional event, such as Payroll Results , as the RDS and then filter for the date range and Bonus type.Example: You want to run a report that displays results for 1 employee only. Instead of filtering a list of employees or setting up a prompt, use the Worker from Prompt RDS. |
Subfilters | Use subfilters on advanced reports to filter on a related business object. To avoid nested loops, use the related business object as the primary business object. |
Report Fields | Select report fields that target the data you want and use indexed fields to optimize report performance for:
From the Global business object, use static global report fields in calculated fields and prompts since they always return the same value. |
Filter Field Order | Sort fields in order of most restrictive to least restrictive. Workday evaluates filter conditions in the order that you define them in the report definition. |
Calculated Fields in Filter | Use as few calculated fields in filter conditions as possible so that your report is more performant. |
High Filter Ratio | Review the High Filter Ratio field on the View Report Performance Logs report to determine if your report is performant. If the ratio between the Data Source Instance Count and Filtered Instance Count is large, the RDS isn’t effectively providing the instances you need.
Example: Use the My Direct Reports RDS instead of filtering the All Active Workers RDS by manager. |
Sorting Report Outputs | Avoid sorting report outputs to optimize report performance. When you enable sorting, Workday loads all the results in the report instead of loading a subset of the results. |
Effective Moment | Avoid using an effective date to optimize report performance. Reports that use indexed RDSs don't support effective dates and perform better when you run the report using the current moment. |
Restrict Scheduling Permissions | Restrict the number of users permitted to schedule reports to necessary individuals to optimize the performance of your tenant. When many users have permission to schedule reports, admins lose visibility into and control over how users schedule reports. Users might never use the report output or forget the scheduled report ran. |