Repeat "Repeats" in a survey

650
3
05-18-2021 11:58 AM
AJohns17
New Contributor II

I was wondering if there was a way to repeat the same group of repeat questions in a survey or reference the repeat group?

I have a Manhole Inspection survey (built from an existing feature service) that contains numerous Pass/Fail questions.  I'm trying to get all of the Fails to populate into a related table, called FMPs, to maintain the failures with their corresponding work order information.  This table/repeat group needs to be applied to all of the questions.  Is this something that can be done?

I have attached my spreadsheet with modifications to [hopefully] display what i'm trying to achieve.  the Original related table repeat is boxed in, with the repeated repeat underneath each pass/fail question (in bold).

 

using  Survey123 Connect 3.11.123

3 Replies
DougBrowning
MVP Esteemed Contributor

You can use indexed-repeat() now to get at any value.  But I think what you want is to create a second set of records but only for the Fails repeats above?  If so then no, no way to create a bunch of mirror records and for sure no way to filter.

But this could be done with a super simple Python script using append.  Maybe a webhook also?

I would just leave them in there and have a definition query on it for =Fail.  No reason to have duplicate data in 2 tables.  You could also simulate it being 2 tables by using a database view.

Hope that helps

0 Kudos
AJohns17
New Contributor II

thanks for the suggestion but i would rather not add a script or webhook.

i had also thought about creating specific fields for each conditional fail, keep those fields as bing::esri:fieldType = null, but then have them feed the hidden table fields using a calculation but trying to figure out how to pull the data from the visible fields seemed like such a haul.

0 Kudos
DougBrowning
MVP Esteemed Contributor

You are trying to create 2 records at once so that will be tough in a form vs script.

Another idea.  Create a nested repeat that contains the fails - so inside the inspection repeat.  Put a relevant on the begin repeat of ="Fail".  Then when they select fail a repeat record gets created.  You can use the new bind:visable to hide it from the user if you want.  Not positive but I think it will create the record if you have a calc in there.  That way you are creating 2 records at one time in 2 diff tables.

Hope that helps.  I would still just filter the one table by Fail.

0 Kudos