XLSForm admite preguntas select_one (seleccionar solo una respuesta), select_multiple (seleccionar varias respuestas) y de clasificación (ordenar una lista de opciones). Para escribir una pregunta con varias opciones de respuesta, es necesario agregar una hoja de cálculo choices al libro de trabajo de Excel. El siguiente ejemplo muestra una pregunta select_one:
La entrada yes_no de la hoja de cálculo survey debe coincidir con la entrada yes_no de la columna list name de la hoja de cálculo choices. Esto garantiza que el formulario muestra la lista correcta de opciones de respuesta para una pregunta concreta.
De forma predeterminada, cuando se publica una encuesta, las opciones de las preguntas select_one se agregan a la capa de entidades de la encuesta como dominios de valor codificado. Puede deshabilitar la creación de dominios durante el proceso de publicación. Para obtener más información, consulte Opciones de publicación.
Cuando modifica las opciones de las preguntas select_one y vuelve a publicar la encuesta, Survey123 Connect muestra un resumen de los cambios y le permite decidir si estos cambios se deben aplicar a los dominios en la capa de entidades. Para obtener más información, consulte Actualizar una encuesta.
Precaución:
A continuación, se enumeran las limitaciones a la hora de utilizar una lista de opciones con nombres de opciones duplicados:
- Los nombres de opciones duplicados no se admiten para las preguntas select_multiple.
- Los nombres de opciones duplicados no se admiten para encuestas multilingües.
- La función jr:choice-name() devuelve la etiqueta de la primera opción duplicada de la lista.
- Cuando se abren desde las carpetas Bandeja de entrada, Borradores, Bandeja de salida, Enviado o Información general, las preguntas select_one se revierten a la primera opción duplicada de la lista.
También puede agregar preguntas con varias respuestas que permitan seleccionar varias respuestas, como las siguientes:
De forma predeterminada, estas opciones aparecen en el orden proporcionado en la hoja choices. En su lugar, puede aleatorizar el orden en el que aparecen estas opciones introduciendo randomize=true en la columna de parámetros.
Precaución:
Todos los valores capturados en una pregunta select_multiple o de clasificación se guardan como una lista separada por comas, por lo que debe evitar el uso de comas en la columna de nombre de su lista de opciones. Tenga en cuenta también que las preguntas select_multiple y de clasificación envían solo el nombre de una opción a la capa de entidades, en lugar del nombre y la etiqueta enviados por las preguntas select_one.
El valor de una pregunta de clasificación permanecerá vacío hasta que el usuario modifique el orden de las opciones. Si se ha establecido un valor predeterminado, el orden predeterminado se aplicará, a menos que el usuario modifique el orden de las opciones.
Una respuesta individual para una pregunta select_multiple se puede devolver con la función selected-at. Lo siguiente devuelve el valor de nombre de la primera respuesta obtenida para una pregunta select_multiple:
selected-at(${species}, 0)
Para enviar la etiqueta de una respuesta, puede usar la función jr:choice-name. Para obtener el valor de etiqueta de la segunda respuesta obtenida de la misma pregunta select_multiple, use lo siguiente:
jr:choice-name(selected-at(${species}, 1), '${species}')
Especificar otros
En las preguntas con varias opciones, las encuestas podían incluir la opción de seleccionar otra cuando la opción deseada no aparece. A continuación, se suele pedir al encuestado que especifique la otra opción. Puede hacerlo en XLSForm con el método manual o el método integrado. El método integrado es más rápido y fácil de configurar que el método manual, pero tiene varias limitaciones.
Método manual
Se recomienda el método manual porque permite especificar el nombre y la etiqueta de la otra opción y el nombre y la etiqueta de la pregunta de texto que recopila la otra respuesta. Puede proporcionar traducciones para estos nombres y etiquetas. También puede aplicar restricciones y apariencias a la pregunta de texto y hacer que sean obligatorias.
En primer lugar, agregue una opción otra a la lista de opciones de la pregunta en la hoja de cálculo choices. Especifique un nombre y una etiqueta para esta opción como haría para cualquier otra opción de la lista. En el siguiente ejemplo, la lista de opciones de color tiene una opción llamada other.
En la hoja de cálculo survey, agregue una pregunta de texto para recopilar la otra respuesta. Agregue una expresión relevante para que la pregunta de texto solo sea relevante cuando se seleccione la opción otra. En el siguiente ejemplo, la pregunta other_color es relevante cuando la respuesta a la pregunta select_one es other.
En las encuestas multilingües, las preguntas y opciones se pueden traducir. En el siguiente ejemplo, se proporcionan traducciones en francés y griego en la hoja de cálculo survey tanto para la pregunta select_one como para la pregunta de texto.
Las traducciones también se proporcionan en la hoja de cálculo choices, incluida la opción other.
Método integrado
Con este método, Survey123 Connect crea automáticamente la opción otra y la pregunta para recopilar la otra respuesta. Para utilizar este método, escriba or_other después del nombre de la lista de opciones en la columna type de la hoja de cálculo survey. Se muestra la opción Otra en la lista de opciones de la pregunta. Cuando se selecciona la opción Otro, se muestra una pregunta Especificar otro que permite a los usuarios escribir su propia respuesta. Para almacenar esta respuesta, Survey123 Connect crea automáticamente un campo adicional en la capa de entidades usando el nombre de su pregunta con varias opciones seguida de _other, por ejemplo, favorite_toppings_other. Vea lo siguiente:
Precaución:
La etiqueta de la pregunta Especificar otro no se mostrará en idiomas distintos del inglés.
Si crea una encuesta a partir de una capa de entidades existente, el campo para la pregunta Especificar otros no se creará automáticamente y la encuesta no se publicará. Deberá crear el campo para la pregunta Especificar otro de forma manual en la capa de entidades, con el nombre de su pregunta con varias opciones seguida de _other, por ejemplo favorite_toppings_other.
Listas externas de opciones
Puede almacenar listas de opciones para preguntas select_one y select_multiple en un archivo .csv externo. Es ideal para listas de opciones muy grandes, encuestas con varias listas de opciones y listas de opciones que se administran fuera de Survey123. Las listas externas de opciones no se deben confundir con selecciones externas, donde las opciones deben figurar en una hoja de cálculo adicional.
El archivo .csv debe contener las columnas name y label.
Nota:
Si el archivo .csv no tiene un encabezado de columna o tiene una coma al final de las filas del archivo, el archivo no se importa a la encuesta.
Para obtener los mejores resultados, codifique el archivo .csv mediante codificación de caracteres UTF-8. Si utiliza Microsoft Excel para crear el archivo .csv, guárdelo como CSV UTF-8.
Las columnas con etiquetas traducidas pueden incluirse en el archivo .csv, pero las opciones traducidas solo se mostrarán en Survey123 Connect y en la aplicación de campo Survey123, no en la aplicación web Survey123.
Para incluir una pregunta con una lista externa de opciones, introduzca el tipo de pregunta, select_one_from_file o select_multiple_from_file, y el nombre del archivo .csv, por ejemplo, select_one_from_file CoverType.csv. Los nombres de archivo distinguen entre mayúsculas y minúsculas y no permiten espacios.
Hay dos formas de incluir un archivo .csv: guardar el archivo en la carpeta media de la encuesta o vincular a un archivo .csv alojado en ArcGIS.
Sugerencia:
Ejecute la herramienta Convertir listas de opciones en CSV para automatizar la migración de las listas de opciones de la hoja de cálculo a archivos .csv.
Vincular un archivo .csv
Para vincular un archivo .csv a una encuesta desde el contenido de ArcGIS, realice lo siguiente:
- Asegúrese de que el archivo .csv esté alojado en ArcGIS Online o ArcGIS Enterprise y que tenga los mismos permisos de uso compartido que la encuesta.
- Asegúrese de que la encuesta se ha publicado en ArcGIS antes de intentar vincular el contenido.
- En Survey123 Connect, abra la encuesta y haga clic en la pestaña Contenido vinculado. Haga clic en el botón Vincular contenido, elija CSV y busque y seleccione el archivo .csv que desee vincular.
Para que la vista previa del formulario muestre las opciones del archivo .csv vinculado, en Survey123 Connect, en la pestaña Contenido vinculado, haga clic en el botón . De este modo, se coloca una copia del archivo .csv en la carpeta de contenido multimedia de la encuesta. Los archivos vinculados se descargan automáticamente con la encuesta en la aplicación de campo Survey123.
Si coloca manualmente el archivo .csv en la carpeta de contenido multimedia de la encuesta y posteriormente carga un archivo .csv con el mismo nombre en ArcGIS y lo vincula a la encuesta, el archivo .csv de la encuesta se actualiza a partir del contenido vinculado (si es más reciente).
Convertir listas de opciones a CSV
Ejecute la herramienta Convertir listas de opciones en CSV en Survey123 Connect para migrar automáticamente las listas de opciones especificadas de la hoja de cálculo de opciones a archivos .csv nuevos de la carpeta de contenido multimedia. La herramienta también modifica las preguntas correspondientes de la hoja de cálculo de la encuesta para utilizar los tipos de pregunta select_one_from_file and select_multiple_from_file.
Para ejecutar la herramienta, realice lo siguiente:
- Configure un entorno de Python en Survey123 Connect para que pueda ejecutar la herramienta. Para obtener más información, consulte Configurar Python.
- Abra el XLSForm de la encuesta. En la hoja de cálculo de opciones, agregue una columna llamada esri_tool_convert_csv. Agregue un valor sí a una fila como mínimo de cada lista de opciones que quiera convertir en lista de opciones externa. Guarde y cierre el archivo
- En Survey123 Connect, abra la encuesta, haga clic en Herramientas y elija Convertir listas de opciones en CSV.
Cuando se completa la conversión, se guarda un archivo .csv en la carpeta de contenido multimedia correspondiente a cada lista de opciones migrada. El nombre del archivo coincide con el valor de nombre de la lista de opciones original (list_name column). La hoja de cálculo de opciones se actualiza para incluir solamente las listas restantes que no se han migrado. Sigue incluyendo los encabezados de columna personalizados del original. En la hoja de cálculo de la encuesta, las preguntas select_one and select_multiple aplicables cambian a select_one_from_file and select_multiple_from_file para hacer referencia a las nuevas listas de opciones externas. La hoja de cálculo de opciones original se guarda en una hoja de cálculo choices_backup para que pueda verificar los resultados o revertir. Puede mantener o eliminar la hoja de cálculo de copia de seguridad.
La herramienta no convertirá las listas de opciones de las preguntas de clasificación, los grupos de tabla-lista o las preguntas con la apariencia de búsqueda. En la encuesta no se modifica ninguna de las preguntas que utilizan estas listas de opciones.
Si la herramienta detecta preguntas no admitidas, se crea un archivo .xlsx en la carpeta de depuración con los nombres de las listas de opciones afectadas. Puede encontrar este archivo en la carpeta siguiente:
C:\Users\<username>\ArcGIS\My Survey Designs\<surveyName>\debug\convertchoicelists