I need advice on how to make one of my dashbo

I need advice on how to make one of my dashboards scalable.

I have a delivery tracking app. In it, I have an interactive dashboard with 3 views: - List of weeks - List of deliveries - Map of deliveries

This view currently loads ~600 deliveries spanning ~6 weeks.

At 600 place markers the map is already pretty laggy. The dashboard is interactive so I can filter the map by week, but this appears to be only aesthetic as the filter is pretty much instant and the map lags just the same, whether I have every delivery visible or just a given weekโ€™s worth.

Every week adds around 100 deliveries, so I know Iโ€™m just a few weeks away from the map becoming way too laggy, or worse, having deliveries start to go missing in the map.

This view is key as it gives admins a unique birds-eye view into the delivery side of the business.

So far as I can tell, the narrowest bottleneck is the map. Ideally - feature request time! - AppSheet would change the behaviour of map views in dashboards so that: - Map is redrawn with new pins when a filter is applied - Upwards of a certain pin amount, say 1000, map doesnโ€™t render pins and a warning asks the user to further funnel down the data via interactive tables

As a last resort, and for this specific app, I know I can make slices of deliveries out of fixed intervals of weeks, keep adding these slices manually over time, and have separate dashboards for every slice, but this is also unscalable and cumbersome.

Thoughts?

Solved Solved
0 7 767
  • UX
1 ACCEPTED SOLUTION

@Filipe_Damaso_Saraiv, you could take @Buglouseโ€™s idea but instead of having actions, you could enable quickedit. This idea is also desribed by some others in the community. It is a workaround in lieu of a true structured search view. The basic idea is:

*) have a Filter table

*) give it a single row โ€“ letโ€™s say it has a key column with value 1.

*) in the dashboard, add a Details view for that table and enable quickedit for the columns

*) for the table you want to map, set up a slice that uses the row from the Filter table to appropriately filter the values. Something like this:

[ColumnA] = LOOKUP(1, FilterTable, FilterKeyColumn, ColumnAFilterValue)

*) add a map view over this slice to the dashboard

The purpose of the map pin limit is so that you never show several hundred pins on the map. So it is exactly what I think you were asking for in the original post.

View solution in original post

7 REPLIES 7
Top Labels in this Space