Agregar cálculos y restricciones a una matriz de preguntas

Cuando se trabaja en el Formbuilder, es sencillo agregar cálculos o restricciones a casi cualquier tipo de pregunta. Si bien el Formbuilder no admite actualmente agregar estas funcionalidades a una matriz de preguntas, puedes usar XLSForm para hacerlo. Los pasos que se describen a continuación en este artículo ilustran cómo agregar cálculos y restricciones a una matriz de preguntas usando XLSForm.

Configurar la pregunta y los campos

Paso 1: Crear una matriz de preguntas en el Formbuilder

El primer paso es crear una matriz de preguntas en el Formbuilder (como se describe en el artículo Agregar una matriz de preguntas usando el Formbuilder). Simplemente agrega filas y columnas con las variables necesarias para la recolección de datos.

Paso 2: Descargar el formulario como XLSForm

Una vez creada la matriz de preguntas, GUARDA el formulario y descárgalo como XLSForm.

Paso 3: Agregar lógica a la matriz de preguntas

Abre el XLSForm y agrega los encabezados de columna calculation, constraint y constraint_message. Con estos encabezados de columna, podrás agregar las expresiones de total de columna y total de fila bajo el encabezado de columna calculation. También puedes agregar las restricciones correspondientes bajo el encabezado de columna constraint y el mensaje de restricción bajo el encabezado constraint_message según sea necesario.

Además, también puedes agregar un encabezado de columna read_only para impedir que los encuestadores editen las respuestas durante la recolección de datos en ciertas preguntas (por ejemplo, el total de fila y el total de columna que se calculan automáticamente).

Hoja survey

En la imagen anterior, es posible que notes que los valores de name son más cortos. En este ejemplo, se han renombrado respecto a los generados automáticamente en el Formbuilder para poder capturar la pantalla completa de la hoja survey. Si decides renombrar los tuyos, asegúrate de usar los nuevos nombres de variables en los encabezados de columna calculation y constraint. Si el formulario ya ha sido implementado y se han recolectado datos, se recomienda que no cambies el nombre de las variables existentes.

Paso 4: Reemplazar el formulario

Carga y reemplaza tu XLSForm en el proyecto existente, o crea un nuevo proyecto (si es necesario).

Paso 5: Implementar el formulario

Paso 6: Recolectar datos

Después de implementar el formulario, puedes ir a FORMULARIO>Recolectar datos>ABRIR para comenzar a recolectar datos con el formulario web.

Ver el resultado

Las siguientes imágenes ilustran cómo se verá y funcionará el formulario en el formulario web Enketo una vez seguidos los pasos anteriores:

No se han ingresado datos:

Enketo sin datos ingresados

Se ha cometido un error de ingreso:

Enketo con datos incorrectos ingresados

Aquí verás que hay un total de cinco miembros del hogar. Si un encuestador ingresa 6 como número de hombres (0-14 años), la restricción mostrará un mensaje de error.

Sin errores de ingreso:

Enketo con datos correctos ingresados

Aquí, al ingresar valores en una tabla de matriz, las filas y columnas se calculan automáticamente.

Puedes descargar el XLSForm utilizado en este artículo aquí.

Resolución de problemas

  • La matriz de preguntas solo funciona con formularios web Enketo. No es compatible con la aplicación Android KoboCollect.

  • La tabla de matriz aparecerá distorsionada si no configuras el diseño como Grid-theme. Para más información sobre los estilos de formularios web, puedes consultar Diseñar formularios web usando el Formbuilder.