Contexto del registro

Este artículo se ha traducido del inglés mediante IA y puede contener errores. Sus comentarios nos ayudarán a mejorar.

Las fórmulas pueden ser evaluadas en el contexto de un registro de formulario. Esto incluye:

  • Fórmulas de campos calculados
  • Fórmulas de prefijo de número de serie
  • Reglas de relevancia
  • Reglas de validación
  • Bloqueos de registros
  • Permisos a nivel de registro

En cada uno de estos casos, la fórmula se evalúa en el contexto de cada uno de los registros del formulario. En este contexto, puede hacer referencia a los valores de los campos del registro, a los registros y subregistros relacionados y a los metadatos relacionados con el registro.

Dado que la fórmula se calcula registro por registro, este no es el contexto en el que se deben calcular agregados como el porcentaje de participantes que son mujeres. Dichas estadísticas pueden calcularse utilizando tablas dinámicas.

Valores de los campos

En el contexto de un registro, puede hacer referencia a los campos utilizando el código del campo, la etiqueta del campo o el ID interno del campo y la sintaxis de símbolos. Un símbolo se escribe en las fórmulas sin comillas.

Screenshot of a field in the form designer
Screenshot of a field in the form designer

Por ejemplo, si tiene un campo de texto con la etiqueta "Number of students" y el código NUM_STUDENTS, podría calcular el número de profesores necesarios, asumiendo una proporción deseada de 30:1, utilizando cualquiera de las siguientes fórmulas:

  • Students / 30
  • NUM_STUDENTS / 30
  • csr4lu5lfl1n0swr / 30

El texto csr4lu5lfl1n0swr es el ID interno del campo asignado por ActivityInfo, que se puede encontrar a través de la API.

Si la etiqueta de un campo contiene espacios u otros caracteres especiales, el símbolo debe escaparse utilizando corchetes. Por ejemplo, si el campo anterior tuviera la etiqueta "Number of students", entonces debe referirse a él como [Number of students] en la fórmula.

Tenga en cuenta que no es necesario que las etiquetas de los campos sean únicas dentro de un formulario. Es común tener varios campos con la etiqueta "Other", por ejemplo. Si se refiere a un campo por su etiqueta y hay más de un campo con esta etiqueta, se utilizará el valor del primer campo.

Por esta razón, recomendamos asignar códigos a todos los campos si planea utilizar fórmulas.

Campos de texto

Los campos de texto, de texto multilínea, de número de serie y de código de barras tienen un tipo de fórmula de texto en el contexto del registro.

Campos de selección

Los campos de selección única y de selección múltiple tienen un tipo de fórmula de "struct" y de lista de struct, respectivamente.

Si su formulario incluye campos de referencia, puede incluir los valores de los campos de los registros relacionados en las fórmulas.

Campos de referencia

Cuando añade un campo de referencia a un formulario, ActivityInfo almacena el ID de registro incorporado del registro seleccionado como parte del campo.

Por ejemplo, digamos que añade una referencia al formulario de Distritos de Afganistán en la Geodatabase pública con el código DISTRICT. Durante la introducción o importación de datos, ActivityInfo presentará los campos clave del registro relacionado al usuario para ayudarle a seleccionar el registro correcto:

Screenshot of data entry
Screenshot of data entry

Sin embargo, cuando se guarda el registro, ActivityInfo almacena realmente el ID de registro del registro relacionado. Esto garantiza que, aunque cambie el nombre del distrito, se conserve la relación entre los dos registros.

Si hace referencia a DISTRICT en una fórmula, el resultado será el ID de registro, como "z0000454985":

Screenshot of a table
Screenshot of a table

Campos relacionados

En la mayoría de los casos, el ID del registro relacionado no será muy útil. En su lugar, es posible que desee hacer referencia al nombre del distrito o a su población. Para ello, puede utilizar la notación de puntos para buscar el valor relacionado:

DISTRICT.NAME

Si el formulario relacionado también tiene campos de referencia, puede utilizar varios puntos para seguir la ruta. En este caso, el formulario de Distrito tiene un campo de referencia PROVINCE con su propio campo NAME. Para encontrar el nombre de la provincia relacionada, podría utilizar la fórmula:

DISTRICT.PROVINCE.NAME

Campos de punto geográfico

Los campos de punto geográfico tienen un tipo de fórmula "struct". Esto significa que cada punto geográfico tiene dos valores: latitud y longitud. Puede hacer referencia a estos componentes individuales utilizando la sintaxis de puntos:

CONCAT(
  IF(LOCATION.Latitude > 0, "North", "South"), " ",
  IF(LOCATION.Longitude > 0, "East", "West"), " Hemisphere")

Campos de subformulario

Aunque los campos de subformulario no tienen un valor en sí mismos, puede hacer referencia a los campos de los subregistros en el contexto del registro, siempre que estén agregados.

Por ejemplo, si tiene un subformulario HOUSEHOLDS_MEMBERS con los campos NAME y AGE, no puede simplemente hacer referencia a HOUSEHOLD_MEMBERS.NAME, porque puede haber más de un nombre. Sin embargo, puede utilizar funciones de agregación como COUNT, SUM, AVERAGE, MIN y MAX para calcular un único valor a partir de todos los subregistros de un registro. Por ejemplo, podría encontrar el número de miembros utilizando la fórmula:

COUNT(HOUSEHOLD_MEMBERS.NAME)

Y podría comprobar la presencia de un niño menor de cinco años utilizando la fórmula:

MIN(HOUSEHOULD_MEMBERS.AGE) < 5

Metadatos del registro

En el contexto del registro, también puede hacer referencia a los metadatos sobre el registro:

Símbolo Tipo Descripción
_id texto El ID del registro
_lastEditTime instante La última vez que se actualizó el registro

Tenga en cuenta que _lastEditTime se refiere a la última vez que una actualización llegó al servidor. Un registro puede haber sido añadido o editado sin conexión mucho antes.

Siguiente elemento
SELECTCOLUMNS