El tipo de pregunta select_one solicita al encuestado que elija exactamente una opción de una lista predefinida. De forma predeterminada, las opciones se renderizan como botones de radio, pero hay una amplia gama de opciones de apariencia disponibles para cambiar el diseño y el comportamiento.

Especificación básica de XLSForm

Hoja de trabajo survey:

typenamelabel
select_one yesnoconsent¿El encuestado dio su consentimiento?

Hoja de trabajo choices:

list_namenamelabel
yesnoyes
yesnonoNo

El listname en select_one listname debe coincidir con la columna list_name en la hoja de trabajo choices.

Para obtener más detalles, consulte la especificación de XLSForm.

Usos

Las preguntas select_one se usan para:

  1. Preguntas de Sí/No
  2. Opción múltiple de respuesta única (p. ej., nivel educativo, género, estado civil)
  3. Calificaciones categóricas (p. ej., deficiente / regular / bueno / excelente)
  4. Selecciones en cascada (vinculadas) donde las opciones se filtran según una respuesta anterior
  5. Selección de país, región, distrito u otra unidad administrativa

Opciones de apariencia

Especifique un valor en la columna appearance para cambiar cómo se muestran las opciones:

AparienciaDescripción
(ninguna)Botones de radio predeterminados, uno por línea
minimalMenú desplegable/spinner único en lugar de botones de radio
quickAvanza automáticamente a la siguiente pregunta inmediatamente después de la selección (solo móvil)
compactCuadrícula compacta de opciones — el número de columnas se ajusta al ancho de la pantalla
compact-NCuadrícula compacta forzada a N columnas (p. ej., compact-3)
quickcompactCombina quick y compact
quickcompact-NCombina quick y compact con N columnas forzadas
horizontalOpciones organizadas en una fila horizontal (web)
horizontal-compactHorizontal, espaciado compacto (web)
likertFila de escala Likert — etiquetas arriba, botones de radio abajo
labelMuestra solo etiquetas de opciones sin entradas (use en par con list-nolabel)
list-nolabelMuestra solo las entradas sin etiquetas (use en par con label)
columns(N)Mostrar en N columnas (extensión de rtSurvey, p. ej., columns(3))
distressWidget de iconos emocionales de angustia psicológica de Kessler (K10)
search-api(...)Búsqueda dinámica — carga opciones desde una API en tiempo de ejecución

Ejemplo: Escala Likert

typenamelabelappearance
select_one satisfactionservice_rating¿Qué tan satisfecho está con el servicio?likert

Ejemplo: Compacto en 3 columnas

typenamelabelappearance
select_one regionsregionSeleccionar regióncompact-3

Selecciones en cascada

Una selección en cascada (vinculada) filtra las opciones según el valor seleccionado en una pregunta anterior. Use la columna choice_filter con el nombre de una columna de su hoja de trabajo choices.

survey:

typenamelabelchoice_filter
select_one provinceprovinceSeleccionar provincia
select_one districtdistrictSeleccionar distritoprovince_name = ${province}

choices:

list_namenamelabelprovince_name
provincenairobiNairobi
provincemombasaMombasa
districtwestlandsWestlandsnairobi
districtkasaraniKasaraninairobi
districtnyaliNyalimombasa
districtlikoniLikonimombasa

Cuando el encuestado selecciona nairobi, solo Westlands y Kasarani aparecen en la lista de distritos.

Uso del valor seleccionado en expresiones

Referencie el valor seleccionado (no la etiqueta) con ${fieldname}:

  relevant: ${consent} = 'yes'
  

Para obtener la etiqueta de la opción en lugar del valor, use choice-label():

  calculate: choice-label(${education_level}, ${education_level})
  

Opción “Otro” con texto libre

Un patrón común es incluir una opción “otro” que revela un campo de texto:

typenamelabelrelevant
select_one occupationjob¿Cuál es su ocupación?
textjob_otherPor favor especifique${job} = 'other'

choices:

list_namenamelabel
occupationfarmerAgricultor
occupationtraderComerciante
occupationstudentEstudiante
occupationotherOtro (por favor especifique)

Mejores prácticas

  1. Mantenga las listas cortas y mutuamente excluyentes; si los encuestados pueden querer más de una, use select_multiple.
  2. Ponga la respuesta más común primero, u ordene alfabéticamente para listas largas.
  3. Incluya siempre una opción “No sé” o “Prefiero no responder” donde sea relevante.
  4. Use minimal (desplegable) para listas con más de 7–8 opciones en móvil para ahorrar espacio en pantalla.
  5. Para selecciones en cascada, agregue todas las columnas de filtro en la hoja de trabajo choices antes de construir el formulario.

Limitaciones

  • Un encuestado solo puede seleccionar una opción; use select_multiple para preguntas de múltiples respuestas.
  • La apariencia likert funciona mejor con 5–7 opciones que caben en una línea.
  • El avance automático quick es solo para móvil; no tiene efecto en formularios web.
¿Fue útil esta página?