Skip To Content

Calcular campo

La herramienta Calcular campo calcula valores de campo para un campo nuevo o uno existente. Puede utilizar funciones de Arcade para definir la expresión de cálculo.

Ejemplos

La herramienta Calcular campo puede utilizarse en situaciones como las siguientes:

  • Sustituir los valores vacíos por un valor predeterminado.
  • Convertir una columna de cadenas con todos los nombres en mayúsculas a mayúsculas de título utilizando la función Arcade Proper, por ejemplo, JANE SMITH a Jane Smith.
  • Utilizar funciones matemáticas de Arcade para redondear los valores de una columna numérica a un número determinado de posiciones.
  • Mantiene el relleno cero de un valor de código postal convirtiendo el campo entero en un nuevo campo de cadena, por ejemplo, 1 a 00001.
  • Dividir una cadena de códigos postales no separados mediante comas, por ejemplo, 0051500234 en 00515,00234.

Parámetros

La siguiente tabla muestra los parámetros utilizados en la herramienta Calcular campo:

ParámetroDescripción

Dataset de entrada

El dataset que tendrá un campo calculado.

Campo para calcular

Especifica si los valores calculados sustituirán a un campo existente (Campo existente) o crearán un campo (Campo nuevo).

Nuevo nombre de campo

El nombre del nuevo campo. Este parámetro es necesario si el valor del Campo para calcular es Nuevo campo.

Tipo de campo nuevo

El tipo del campo nuevo. Este parámetro es necesario si el valor del Campo para calcular es Nuevo campo.

Nombre de campo existente

El nombre del campo existente que se reemplazará por los valores calculados. Este parámetro se utiliza si el valor del Campo para calcular es Campo existente.

Expresión de Arcade

La expresión Arcade que se utilizará para calcular los nuevos valores.

Notas de uso

Utilice el parámetro Campo para calcular para especificar si se calcularán valores para un campo nuevo o un campo existente.

Si está calculando valores para un nuevo campo, proporcione el nombre del nuevo campo y especifique un nuevo tipo para el campo utilizando los parámetros Nuevo nombre de campo y Nuevo tipo de campo. A continuación, se indican las opciones de tipo de campo:

  • Fecha: calcula un nuevo campo de tipo fecha. Los campos de fecha admiten fecha y hora.
  • Doble: calcula un nuevo campo de tipo doble. Los campos dobles admiten números fraccionarios aproximadamente entre -2.2E308 y 1.8E308.
  • Entero: calcula un nuevo campo de tipo entero. Los campos de enteros admiten números enteros entre -2147483648 y 2147483647.
  • Cadena: calcula un nuevo campo de tipo cadena. Los campos de cadena admiten cadenas de caracteres (texto).

Para calcular los valores de un campo existente, seleccione el campo del dataset de entrada. El campo se devolverá con el mismo nombre y tipo y contendrá los nuevos valores calculados.

Tanto para los campos nuevos como para los existentes, proporcione una expresión de Arcade para calcular los nuevos valores. En el cuadro de diálogo de la expresión de Arcade, acceda a los campos del dataset de entrada desde la lista Variables de perfil o proporcione un valor como $record.field_name en el que field_name es el nombre del campo. Si el campo tiene caracteres especiales, puede ser necesario utilizar un formato alternativo para hacer referencia a ese campo. Por ejemplo, un campo llamado %Employed no puede ser referenciado como $record.%Employed, que es una sintaxis inválida. En su lugar, debe utilizar sintaxis como $record["%Employed"]. Utilice la lista Funciones para acceder a funciones para crear la expresión.

Para obtener más información sobre Arcade, consulte el tema ArcGIS Arcade. Para empezar a usar Arcade, puede intentar crear expresiones de práctica con Arcade Playground.

La siguiente tabla muestra las expresiones comunes de Arcade utilizadas en la herramienta Calcular campo:

Operaciones comunesDescripciónEjemploInformación adicional

Copiar campo

Copie los valores del campo de origen en el campo de destino.

Copie valores de my_origin_field a un nuevo campo.

return $record.my_origin_field

Establecer valor predeterminado

Establezca un valor predeterminado para un campo.

Sustituya los valores nulos de my_field_name por la cadena my default value.

if ($record.my_field_name == null) {
    return "my default value"
} else {
    return $record.my_field_name
}

Cambiar entre mayúsculas y minúsculas

Cambia entre mayúsculas y minúsculas de la cadena de origen.

Convierta los valores de my_field_name a mayúsculas o minúsculas.

// To convert a string to lowercase:
return Lower($record.my_field_name)

// To convert a string to uppercase:
return Upper($record.my_field_name)

Minúsculas

Mayúsculas

Combinar valores

Concatene valores de origen en una cadena.

Combine field_1 y field_2 para crear un campo. Separe los valores con una coma.

var values_to_combine = [
    $record.field_1, 
    $record.field_2
]
var separator = ", "
return Concatenate(values_to_combine, separator)

Concatenar

Izquierda

Extraiga un número de caracteres desde el inicio de una cadena de caracteres.

Devuelva los tres primeros caracteres de cada valor de my_string_field.

Left($record.my_string_field, 3)

Izquierda

Derecha

Extraiga un número de caracteres del final de una cadena de caracteres.

Devuelva los tres últimos caracteres de cada valor de my_string_field.

Right($record.my_string_field, 3)

Derecha

Subcadena

Extraiga un conjunto de caracteres del medio de una cadena.

Devuelva cinco caracteres de my_string_field a partir del carácter 2.

Mid($record.my_string_field, 2, 5)

Medio

Dividir

Divida una cadena en partes y devuelve una de ellas.

Divida un campo de cadena en una matriz en función del separador `. Devuelva la primera parte.

var parts = Split($record.my_string_field, ',')
return parts[0] // Return the first part

Dividir

Valor condicional

Devuelva diferentes valores en función de una instrucción if/else.

Si el valor de my_field_name es igual a 1 para un registro dado, devuelve true, de lo contrario devuelve false.

if($record.my_field_name == 1) {
    return true
} else {
    return false
}

Buscar y reemplazar

Sustituye todas las instancias de un valor por otro diferente.

Sustituya las instancias de search_value en my_field_name por new_value.

var search_value = "my old string"
var new_value = "my new string"
if($record.my_field_name == search_value){
    return new_value
} else {
    return $record.my_field_name
}

Reemplazar

Acceder a valores anidados

Devuelva un valor anidado desde un campo struct.

Devuelve el valor de la clave myKey en un campo struct denominado my_struct_field.

var nested_value = $record.my_struct_field.myKey
return nested_value

Comprobar que existe una clave

Devuelva verdadero o falso según la presencia de la clave especificada.

Devuelve true si la clave myKey existe en un campo struct denominado struct_field, devuelve false si la clave no existe.

return HasValue($record.struct_field, 'myKey')

HasValue

Obtener valores de una clave o establecer un valor predeterminado si el valor de la clave no existe

Devuelve los valores de la clave especificada o un valor predeterminado si la clave no existe.

Devuelve el valor de la clave si la clave myKey existe en un campo struct denominado struct_field, devuelve un valor predeterminado de MyDefault si la clave no existe.

return DefaultValue($record.struct_field, 
                                  ['myKey'],
                                  'MyDefault')

Salidas

La salida de la herramienta es un dataset con todos los campos del dataset de entrada, así como los nuevos valores de campo calculados.

Limitaciones

A continuación se indican las limitaciones conocidas de la herramienta Calcular campo:

  • Solo se puede calcular un campo por ejecución de herramienta.
  • Un tipo de campo existente no se puede cambiar. Utilice la herramienta Actualizar campos para actualizar un campo existente a un nuevo tipo.
  • No se admiten cálculos geométricos. Utilice la herramienta Crear geometría en su lugar.

Requisitos de licencia

Se requieren las siguientes licencias y configuraciones:

  • Tipo de usuario Creator o GIS Professional
  • Rol de publicador, moderador o administrador, o rol personalizado equivalente

Para obtener más información sobre los requisitos de Data Pipelines, consulte Requisitos.