PROBLEMA
En Survey123 Connect for ArcGIS, las fórmulas se usan para realizar cálculos entre varias entradas con el fin de calcular el valor total. Cuando el campo de valor total se establece como de solo lectura y se especifica la columna de cálculo del valor total, al especificar todos los campos de entrada se calcula automáticamente el valor total. Por ejemplo, al calcular el coste total de un trabajo de construcción (valor total) en función del precio de las baldosas, las tuberías, el cemento y la mano de obra (entrada) o al hacer un cálculo estimado de la fauna en una reserva natural (valor total) en función de la observación de varias especies animales (entrada).Sin embargo, cuando una de las entradas se deja en blanco, el valor total no se calcula.
La siguiente imagen muestra el campo de valor total de solo lectura (coste total) configurado para calcular la suma de varias entradas (coste administrativo, coste financiero, cuota legal, cuota de ingeniería y seguros) en el XLSForm de Survey123 Connect for ArcGIS.
La siguiente imagen muestra el formulario web de Survey123 for ArcGIS donde no se calcula el campo de valor total (coste total) cuando una de las entradas (seguro) está en blanco.
Un campo en blanco se considera un valor nulo. Survey123 for ArcGIS no identifica valores nulos en un cálculo, de modo que el campo de valor total no se calcula cuando un campo de entrada está en blanco.
Siga estos pasos para crear un campo de solo lectura que calcule automáticamente el valor total aunque un campo de entrada se deje en blanco o no responda:
Definir una condición para asumir que el campo en blanco es igual a cero
El campo de valor total se calcula estableciendo campos de entrada con la condición Si . La condición se especifica para asumir que el valor de un campo en blanco es cero.
if(${decimal_fieldname}>0, ${decimal_fieldname}, 0)
Nota: Si una condición está definida en el campo decimal o entero en lugar del campo oculto, se devuelve el mensaje de error "Error al convertir XLSForm".
round(${hidden_fieldname1} + ${hidden_fieldname2} + {hidden_fieldname3} + ..., número de posiciones decimales)
La siguiente imagen muestra el XLSForm de Survey123 Connect for ArcGIS configurado con condiciones y el cálculo del valor total.
La siguiente imagen muestra el formulario web de Survey123 for ArcGIS. Aunque una de las entradas (seguro) está en blanco, se calcula el valor total (Coste total).
Establecer el valor predeterminado en cero
Si el valor predeterminado se define como cero, cualquier campo de entrada que no se responda se calcula como cero, en lugar de dejarse en blanco y almacenarse como un valor nulo.
Nota: Las desventajas de este método son: • Si no se especifica un valor en el campo de entrada, el número cero siempre aparece en la pantalla. • Se debe borrar manualmente el valor cero del campo de entrada para poder especificar un valor. • Si un usuario especifica un valor en el campo de entrada y posteriormente decide dejar el campo sin ninguna respuesta específica, el usuario debe insertar el número cero manualmente después de eliminar el valor de entrada especificado. Si no lo hace, el campo se considera nulo y el campo de valor total no puede calcular.
round(${decimal_fieldname1} + ${decimal_fieldname2} + {decimal_fieldname3} + ..., número de posiciones decimales)
La siguiente imagen muestra el XLSForm de Survey123 Connect for ArcGIS configurado con el valor predeterminado y el cálculo del valor total.
La siguiente imagen muestra el formulario web de Survey123 for ArcGIS. Dado que el valor predeterminado se establece como cero, el campo de valor total se calcula aunque uno de los campos de entrada no responda.
Obtener ayuda de expertos en ArcGIS
Descargar la aplicación de soporte de Esri