Hello ArcGIS Dashboard Team,
We've recently run into an issue in our ArcGIS Dashboard where our Arcade FeatureSet expression only returns 2,000 records (therefore missing a large chunk of our data). We have been unable to find documentation stating that there are record limits for arcade expressions.
Can somebody provide us more insight into this issue we're seeing?
Thanks,
Amanda Huber
The standard limit on the number of records returned on a layer in AGOL from a query is 2000. You'll have to increase that limit to get all your records, but depending on how large your dataset is, this could be a significant performance hit.
Hi @KenBuja ,
Thanks so much for the quick reply and documentation.
For better understanding, how would one increase the number of records returned in Arcade not the physical service (no physical REST)? We're not seeing issues with the service's max records, only the arcade expression.
Thanks!
I'm assuming that the Arcade expression needs to make a query to the service to get the records.
Hi @KenBuja,
Yes the arcade expression is querying the service, but the service is in our Enterprise Portal (not AGOL hosted- no threshold issues).
I am experiencing the same issue, and it doesn't seem to be with the source data. I am trying to create a dashboard to show tree assets, and want a widget to show ones with duplicate IDs (need to be corrected). I can create a variable from FeatureSetByPortalItem that returns the correct number of records (~30K), and this is reflected in my indicator widget. If I apply GroupBy to the records returned by FeatureSetByPortalItem so I can get a count by ID, it's now limited to 2000 records.
Were you ever able to find a solution or workaround?
Not directly. I wound up preventing new duplicates in FieldMaps using Arcade to retrieve the existing IDs and preventing the workflow status field from being Editable if a duplicate ID was entered in the ID field. That solved our main problem.
If I remember correctly, I think at that point I used the ArcGIS API for Python to get a list of duplicate IDs and just worked through them. I was planning a workaround to schedule a Notebook to use the API to write the duplicate IDs to a table periodically (never real-time results, but good enough), but it looks like I never needed to go that far.
Thanks!
what did that arcade expression look like? was there a particular function that you used that was helpful for retrieving those existing ids and preventing duplicates