Create a table question for collecting tabular data

05-26-2021 09:15 AM
Status: Open
Occasional Contributor

Hi everyone,

I am a GIS Specialist for the US Bureau of Reclamation in the Lower Colorado River Multi-species Conservation Program. We would benefit from a question type that allows a table to be displayed and edited within a S123 form. Much of our legacy data processes use tables printed on data forms, and field workers are used to being able to see all their data immediately. While repeats currently allow users to create multiple records for a table, they don't allow users to view all the tabular data at once, like they currently do on paper field sheets. 

Example case use: Our biologists periodically do surveys for birds along the Colorado River. They primarily record bird sightings and calls. They use a paper datasheet that has a table for recording each detection, including the bird species, call type, direction, distance, and whether the bird responds to calls that are played from a device. The detections often come in quick succession, so they are scrambling to write them in as fast as possible. They often need to rapidly look back to see if a new bird has already been sighted in that viscinity, or cross out and revise a previous sighting if they get better look and realize it was a different distance or species. Unless they are able to use a table to enter data they will likely miss sightings or revisions. 

This idea is also related to the question Create a table or question with multiple text answers 


Keep upvoting the idea but I heard from the team it is a UI struggle that it was not really designed for.  To have a table you would need to have multiple FieldA fields on the page.  So now a constraint of lets say FieldA > 2 .. well which FieldA if there are several of them.  In a repeat there is just 1 field per page so it makes more sense like 1\FieldA for the repeat.

If you need to go really fast have you looked at Quick Capture?   What you may to do it just have them log the sightings as they see them then summarize them later.  You could use Arcade or maybe even sum, max, min in the form.  Could also post process.  Get the data collected and worry about the totals later.  This esp becomes important when people start editing the form in a webmap for QA, if they skip the forms all your calcs are wrong.

Also check out this post for some other ideas using multiple fields 

Hope that helps


Hi Doug,

Thanks for the insights and ideas. We have considered other workarounds, such as having them populate Excel worksheets and then use a script to transfer the data to a hosted feature services. There's just a lot of room for error using a workflow like this without any built-in validation. I don't think Quick Capture is customizeable enough to capture all the data they need, and still  quickly review and revise their data from, say 20 minutes before. Finally, there's an element of familiarity that is important to our users. Buy-in is easier if the new process isn't starkly different from the one they've been using for 10 years. I know this is an aspect that your team thinks about constantly with any new development. 

I hope we can get some up-votes! 




Will the users be connected?  If so they could review and revise data in the webmap after submitting.  I would still check out quick capture.

I get what you want, I would love it also, but its not prob going to happen for a few years so workarounds is all you got.

We had the same push back at first but we got through it.  Using things like summary pages helps a lot.  





Hi Doug,

Thanks for that input. I'll think more about that solution. 



I would love this feature personally.

Not sure if it will help you, but I have a work-around that has been helping me. See examples below. Still both WIP, but I am liking what I see so far. Basic concept: Use calculates with concat() and notes to display the data in a table-like format. Ensure you set all the calculates and notes to Null or you may get submission errors if the length exceeds 255.

  1. Create a repeat with your input
  2. Create a group for overview. I have two versions below: One is just a group with notes. The second is a group with a specified width and several smaller internal groups. This second version more closely simulates a table.
  3. Create a main group that contains both previous groups and set its appearance to w2 (Note that I am not using grid-theme. Grid-theme is... bad).

Three limitations I have found: 1) Alignment is centered rather than top (less of an issue as you add more data), 2) group width cant be dynamic (as you can see in the GW monitoring example), and 3) To view side-by-side, you obviously need to have a wide screen (this is more a limitation of the second version below).





Edit. Bad at reading. I believe @DougBrowning proposed a similar solution.