Refresh intervals are the hidden heroes of real-time dashboards. Refresh intervals determine how often the operational layer updates and how often elements in your dashboard that use the map as their data source update while the dashboard is open.
Here I have a dashboard with the same layer used in 2 different maps and indicators, one set with a refresh interval set, and one without. Let’s see what happens when I add a new point.
Dashboard elements with and without a refresh interval.
Consider how frequently the data is being updated. If your dataset updates daily, there is no reason for your refresh interval to be set at every minute. If the layer has a maximum cache age applied, the cache age determines the shortest interval allowed for refreshing a layer.
💡Note that the maximum cache age doesn’t prevent you from selecting a shorter refresh interval, however, this can result in unexpected behavior in the dashboard. If your map isn’t updating correctly, be sure to check that the refresh interval is greater than the maximum cache age.
There are a few different places where you can set various refresh intervals. Let’s look at each one individually.
Select the layer in your webmap and open the Properties pane.
Toggle on the refresh interval and set a value (in minutes).
Properties > Refresh interval
The layer has a maximum cache age of .5, so I’ve set the refresh interval slightly above (.6) that age.
In ArcGIS Dashboard, you can bring in data layers from the map or as stand-alone layers. If you set a refresh interval in the map, it will ONLY be applied to widgets in the dashboard that are using the layer from that specific map. This is an important distinction that I see folks get confused with.
One layer. Two different dashboard sources.
Here are two different indicators using the same data layer. One is coming from a map with a refresh interval, the other is added as a stand-alone layer.
Same layer. Different refresh settings.
The nice thing about this method is that you can set this for layers you don’t own.
Navigate to your layer’s Item Details page.
Go to the Visualization tab.
Ensure the layer is selected and open the Properties pane.
Toggle on the refresh interval and set a value (in minutes).
Save.
Visualization > Properties > Refresh interval
The nice thing about setting it here at the layer level is that every time someone uses this layer, that refresh interval is already set. I can bring this layer into my dashboard as a stand-alone layer and have it automatically refresh.
The downside is that you can only set this for layers you own or have permission to update.
Adding a refresh interval to our stand-alone layer.
So what happens if you use a layer with a refresh interval in a data expression? Does that refresh interval trickle down?
Data expression using a layer with a refresh interval.
It does not. You will need to set the refresh interval in your data expression as well.
In the Data Expression Arcade editor, there is a refresh interval located next to the name box.
Data Expression Refresh Interval
Data expression with refresh interval.
The Arcade Script Refresh Interval is a bit different than the others. Instead of ensuring that our dashboard data is up to date, it ensures that the Arcade expression is executed at specific intervals.
Your Arcade expressions will execute when your dashboard data refreshes, so in most cases it is not necessary to also set a script refresh interval. The most common reason to set this is if your Arcade is using the Now() function.
Using Now() with and without a script refresh interval.
The list on the left checks to see what time it is now when the data is refreshed. Then it just holds that now value until the next time the data or dashboard is refreshed. The list on the right, however, has a script refresh interval set to .1. Which means every 6 seconds it is updating that now value.
Happy Dashboarding!
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.