0

I created a survey for material consumption records using the Advanced Template on ArcGIS Survey123 Connect. The questions list and settings is shown as follow:

enter image description here

All the questions with type "select_one list_name" have a list of values in the choices sheet and I need to store this information as integer to efficiently use domains in the associated hosted table on ArcGIS Online (which has been linked through the submission_url column). To do so I used the bind::esri:fieldType field to set the field type to "esriFieldTypeSmallInteger". Despite that, only "mat_name" question was correctly digested from Survey123 when I look into the schema. The first two questions are still stuck on "estriFieldTypeString", no matter value I set on that field, with the only exception for "null":

enter image description here

enter image description here

I tried any possible workaround, but nothing worked and I cant publish the survey since the field type of the first two questions doesn't match:

enter image description here

Is this a known issue from the platform?

1
  • According to community.esri.com/t5/arcgis-survey123-questions/… , integers are not supported for choice list questions, and they will always be strings. The suggestion (if you really MUST have an integer) is to use a second (possibly hidden field) with a calculation that converts it to integer. If this is the case, then it's odd that one of the choice questions appears as an integer in the schema. However, that may yet fail when it comes to publishing the survey. Commented Aug 15, 2023 at 2:12

1 Answer 1

0

Select_one and Select_multiple are stored as string fields by default and you cannot change them. You need to add an integer field and set the appearance to hidden to calculate your domain code in the background based on the select-one answer. If you have a list of coded values and associated integer codes, you can store them in a CSV in the survey's Media folder and then reference the csv lookup field in the form using the pulldata() function in the calculation column for your hidden integer field. The pulldata() function requires four ordered arguments: name of the csv without quotes or file extension, the return value field in the .csv, the key field in the .csv, and the key value from the form you want to return, so the syntax in the calculation field should be pulldata(table name, "return value column name", "key value column name", ${keyValue from form}). The last parameter will be your select_one field name. Described here: https://doc.arcgis.com/en/survey123/desktop/create-surveys/xlsformformulas.htm#ESRI_SECTION1_2954BF95CF674951AE9691A656CF157C

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.