Naming Conventions
- When choosing a report title, pick a title that is relevant to its use and what information you are presenting to your users.
- Use title caseIn title case, all major words are capitalized, while minor words are lowercased. e.g. This is an Example of a Title Case on your titles.
Description
- A description of what and where the report is used can be extremely useful for audit purposes and peer review tracking.
Analyser text search
When searching for records, the following methods work from fastest to slowest:
- Where ever possible, use the "Any of" analyser condition to match a resource rather than searching for it by Date.
- If searching text, use equals (=) wherever possible.
- Where ever possible, avoid using "Starts with", ''Contains" and "Ends with" when searching for records on large reports.
Use Analyzer Conditions to Optimize Performance
In some situations the performance of Reports can be significantly improved by using Analyzer conditions as opposed to relying solely on security access rules. This optimisation requires the access rules to be defined on the same object, or a parent object, as the report (but not a derived object).
If a report has analyser conditions that cause the (root node) records of the report to be filtered, then (as long as the filter is in place) the Report can be optimised if the following conditions are true:
- the user has at least one access rule that applies to that type of record (other than 'grant read to all records')
- the filters on the report imply that at least one of the access rules will always be fulfilled
Examples:
The optimization can be used if:
- an access rule says that 'status' must be any of: "medium", "large", "x-large"; and the report Analyzer says that the status must be any of "medium", "large", OR
- an access rule applies to "employees" and says that status must be any of: "available", "on leave"; and the report is of "managers" with the same Analyzer condition
However, the optimization does not apply if:
- the access rule applies to "managers" and says that status must any of "available", "on leave"; but the report is of "employee" with the same Analyzer condition, OR
- the access rule has the "exact type only" advanced option set, and the report does not have "exact type only" advanced option set, and the object has derived types
Conditional formatting
Only use conditional formatting when it adds value to the report.
Ordering
Ideally, order the report in a way that the user will find useful (e.g. by Name). If users are continually re-ordering a report then this means more delays for the user.
However, when performance tuning a report, it is a good idea to check the advanced ordering option and remove any unnecessary sorting.
Application Linking
- It is important that you link your reports to your application as this is the main requirement for you to properly package and publish your application later on.