When you’re creating your dashboard in Safety Intelligence, there are a few things to keep in mind to ensure it loads quickly and efficiently - here are a few tips and examples you can use as SI users that might help:
Keep your dashboard simple
- Limit the amount of data - Dashboards with lots of data points can slow down significantly. Try only to include necessary data and limit the number of rows and columns in your reports.
- Example: If you pull a table with 100 columns and 10,000 rows, consider only showing the top 10 most important columns and limit rows to 100 items.
- Example: If you pull a table with 100 columns and 10,000 rows, consider only showing the top 10 most important columns and limit rows to 100 items.
- Fewer dashboard elements - Having too many queries can slow things down. While there is no strict limit as tiles can vary in the amount of data included in them, try to avoid having more than 25 queries on one dashboard. Queries generally will equate to one tile, unless a merge query has been utilized.
- Example: If a dashboard is filled with dozens of charts, consider breaking it up into smaller, more focused dashboards.
Be mindful of your dashboard settings
- Auto-refresh settings - If you have your dashboard set to refresh automatically, try not to set it to refresh more frequently than your data updates. eCompliance data updates every 2-3 hours but as a general rule of thumb, setting auto-refresh faster than 15 minutes can slow things down for your dashboard.
- Example: If data updates every 2-3 hours, setting a dashboard to refresh every 10 minutes won’t provide new insights but can definitely slow the performance of the dashboard.
- Example: If data updates every 2-3 hours, setting a dashboard to refresh every 10 minutes won’t provide new insights but can definitely slow the performance of the dashboard.
- Use required filters - If your dashboard uses filters, make them required. This way users won’t be able to run the dashboard without the necessary filters. Running a dashboard without using any of the filters will essentially pull in all data and slow things down, whereas utilizing the filters right away as a requirement will distill the data down to a more manageable amount thus reducing loading times.
- Example: If a dashboard shows incident form submissions for all sites, but most users only need to see data for their specific sites, a required site filter can help to limit data and speed up the dashboard.
Reduce post-query processing considerations
- Features such as custom fields, table calculations, and merged queries consume more memory.
- Avoid adding more than 4 merged query tiles to a dashboard.
Pivoted dimensions
- Pivoting dimensions (showing one row of data per value of a dimension) can consume more memory when running the dashboard. This is because if the dimension has many unique values, each value will get its own column.
- Example: If you’re pivoting Employee data on a ‘Full Name’ dimension with 100+ employees, consider adding a filter to let the user select employees assigned to specific Managers.
Use shared filters
- Shared filters allow a single query to power multiple dashboard elements. This can reduce the total number of queries run from the dashboard and speed things up when loading. Remember, filters don’t need to apply to every single tile in a dashboard, but grouping even some can help with performance.
- Example: If you have several charts in your dashboard where you want to see form submission trends for certain ranges of time, consider setting a ‘Form Date' filter at the dashboard level instead of individual filters within each tile.
Regularly test dashboard performance
- As you build and update your dashboards, ensure to keep checking its performance by refreshing the page after making changes to see how your dashboard may have been impacted by those changes.
- Example: You’ve just added a new chart to a dashboard - after saving it, utilize the ‘Clear cache and refresh’ option and observe if it still loads quickly.
Comments
0 comments
Article is closed for comments.