hello,
I am trying to create a summary of repeat records in a S123 survey in a note field. The goal of this is to be able to provide the user with what has been entered so they can reference information as they add more repeats. I have looked all over and have had some success with the join() and concat() function but the load times are poor when switching pages while using a phone or tablet. This summary will not need to be retained in the feature layer after form submission which is why I am using the note field to display the summary.
What I need in the summary is the repeat number, a couple integer fields and text fields that are separated by a "/" or "I"
In a perfect world I would have this information formatted into a table using HTML formatting but that is a bit out of my realm of understanding. If this is feasible it would be preferable.
Any help or tips on making this work smoothly is appreciated!
exls and csv's are attached. There are summaries being made for three of the pages (organic, mineral and species list)
Thanks for any help!
Hi Ryan
You should be able to achieve this with html by using a note field with a table in html:
<html>
<table border=1 width=100%>
<tr>
<td>
<strong> Heading </strong>
</td>
</tr>
<tr>
<td> Some information 123 </td>
</tr>
<tr>
<td> Other information 234 </td>
</tr>
</table>
</body>
</html>
Regards
Hi @DeonLengton , will this method work if the data is in a repeat, so we don't know exactly how many rows we need? Or is it only possible to hardcode the number of rows using this method?
@RyanDurand2 I've done something very similar, just using concat and join. I used this method because the data summary the users wanted was for data entered in a repeat, so the number of rows needed would vary from survey to survey.
A quick note/tip - make sure you set the field length to a very high number (I ran into issues with the string truncating and throwing an error when more records were entered in the repeat than I anticipated) and also set the field type to null so it won't appear in your feature layer's attribute table.
hello @DeonLengton
As Sarah has asked, how does this work within a repeat? This note populates well from the information I enter for a single row but when I add additional repeats it simply overwrites the previous entry so I can only see the current repeat that is open.
What I need is for each new repeat to add in a new row to build the table longer. I also need to have the data populate in columns and not just down the rows. How is this coded using HTML? The screenshot below will give you a clearer idea of what I am trying to accomplish. Where Attributes1-3 are all within a repeat
Thank you very much for the help,
Hi
Sorry for the delayed response.
I would look at generating the HTML table in a JavaScript function for each repeat value.
I will see if I have time to give it a try in this week.
@RyanDurand2 @DeonLengton @Katie_Clark
Did you manage to accomplish this?? Really needing something like this.
Still using a note field with HTML? How did you manage for variable number of rows??
How does this type of summary at the end of a form work when you need the form to be compatible with the web-based version of the form? I am kind of stumped of how to deal with a repeat I would like summarized on the last page before a user submits the record. I pretty much need something like this:
Name:
Contact Info:
Facility Location Info: --everything below here would be from the repeat, and each record populated--
Location Name: XXXXXX
Number of Points of interest: XXXXXX
Points of interest Total (a calculated number): XXXXXX
Attribute A: XXXXX
Attribute B: XXXXXX
(X however many records I have in the repeat)
Thank you!
So I worked through this yesterday, and here is the version I came up with. It doesn't come out as a pretty table though. This isn't the final version of how I am wanting this to look, but it gets me into the ballpark.
So within the repeat, I added another string field (1000 char) that essentially is my join summary, note I have an if statement because how I want the summary to generate is different based on a yes/no field:
if(selected(${OtherGrowersInBins}, 'Yes'),
(concat(${locationcounter}, ' -- ', ${FacilityAltID}, ' - ', ${NumBins}, ' bins (', ${StorageCapacity}, ' bu per bin) | ', ${OtherGrowersInBins}, ', other growers using this location: ', ${OtherGrowersInBins_Names})),
(concat(${locationcounter}, ' -- ', ${FacilityAltID}, ' - ', ${NumBins}, ' bins (', ${StorageCapacity}, ' bu per bin) | ', ${OtherGrowersInBins}, ' other growers using this location.')))
So now that each new record in the repeat has a summary field that is putting together the info I need, in a note field on the last page of the survey, I have the join() function:
# JoinSummary is the field from the repeat which concat() was used to string all info together
join("\n\n", ${JoinSummary})
Here is an example of what the final output would be:
Hope this helps!