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 campo calculado
  • Fórmulas de prefijo de número de serie
  • Reglas de relevancia
  • Reglas de validación
  • Bloqueos de registro
  • 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, los registros y subregistros relacionados, y los metadatos relacionados con el registro.

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

Valores de campo

En un contexto de 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ímbolo. 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 "Número de estudiantes" 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 obligatorio que las etiquetas de los campos sean únicas dentro de un formulario. Es común tener múltiples campos con la etiqueta "Otro", 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 usar fórmulas.

Campos de texto

Los campos de Texto, Texto multilínea, Número de serie y 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 selección múltiple tienen un tipo de fórmula de "struct" y lista de struct respectivamente.

Si su formulario incluye campos de referencia, puede incluir los valores de los campos en 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 Distrito Afgano en la Geodatabase pública con el código DISTRICT. Durante la entrada 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 asegura que incluso si el nombre del distrito cambiara, la relación entre los dos registros se conserva.

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 de 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 usar múltiples 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 usar 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 por 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 referirse a HOUSEHOLD_MEMBERS.NAME, porque puede haber más de un nombre. Sin embargo, puede usar 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 usando la fórmula:

COUNT(HOUSEHOLD_MEMBERS.NAME)

Y podría comprobar la presencia de un niño menor de cinco años usando 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 instant La última vez que el registro fue actualizado

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