What do you do when a dashboard is too slow or times out?

Pre-process the heavy work into a calculated data source on a schedule, then point the dashboard at that instead. Queries that would time out live become immediate, because the expensive joins ran overnight rather than while somebody waits.

Video: Calculated Data Sources on YouTube

Why this matters

Dashboards get slow for a reason that is rarely the dashboard: they recompute an expensive join across large tables every single time somebody opens them. Pre-processing is also what makes dashboards usable on a patchy connection, where a slow query does not merely annoy but fails outright. That is the difference between a dashboard a ministry opens weekly and one it quietly stops trusting.

How to do it

  1. Identify the query doing the expensive work, usually a join across large datasets.
  2. Create a calculated data source that computes it once.
  3. Set the refresh interval to match how fast the data really changes, daily, weekly or monthly.
  4. Point maps, grids and reports at the calculated source rather than at the raw tables.
  5. Reuse the same source across dashboards instead of rebuilding the logic each time.

Go deeper