Skip To Content

Trabajar con campos

Si usted es el propietario de una capa de entidades alojada, o un administrador de su organización, puede agregar, eliminar y calcular campos de capas de entidades alojadas. Existen algunas restricciones, por ejemplo, no puede eliminar ni calcular el campo OBJECTID. Puede consultar la lista completa de restricciones en la sección Restricciones.

Requisito previo:

Para agregar, eliminar o calcular campos de una capa de entidades alojada, primero debe mostrar la tabla de atributos de la capa. Consulte Mostrar tablas para obtener más información sobre las tablas.

Agregar campo

  1. Siga los pasos para mostrar una tabla.
  2. Haga clic en el botón Opciones Opciones.
  3. Haga clic en Agregar campo.
    • Nombre: los nombres de campo no pueden incluir caracteres especiales, como espacios, guiones, paréntesis, llaves o caracteres como $, % y #. Evite usar nombres de campo que contengan palabras que generalmente se consideran palabras clave reservadas de bases de datos, como CHARACTER o DATE. Si intenta agregar un nombre de campo con caracteres especiales o una palabra clave reservada de base de datos, se le mostrará un mensaje de error.
    • Alias: Nombre alternativo de un campo, más descriptivo y fácil de interpretar por el usuario que el nombre. El alias puede contener caracteres especiales y palabras clave reservadas de base de datos.
    • Tipo: Uno de los siguientes:
      • Fecha: Fecha y hora. Consulte Trabajar con campos de fecha.
        Nota:

        Aunque ArcGIS Online almacena todos los valores de fecha en UTC, normalmente verá y editará las fechas en su zona horaria local porque la mayoría de las aplicaciones realizan conversiones hacia y desde UTC. No obstante, necesitará especificar la zona horaria adecuada cuando cargue los datos, por ejemplo, como archivos o shapefiles CSV, de otro modo, se asumirá que los datos están UTC.

      • Doble: Números con decimales.
      • Entero: Números enteros del -2.147.483.648 al 2.147.483.647 (entero largo).
      • Cadena de caracteres: Cualquier secuencia de caracteres.
    • Longitud: Longitud máxima, en caracteres, que puede almacenar un campo de cadena de caracteres. Para el tipo de campo Cadena de caracteres se requiere la longitud. El valor predeterminado es 256 caracteres.

Eliminar un campo

  1. Siga los pasos para mostrar una tabla.
  2. Haga clic en la columna que contenga el campo que quiera eliminar.
  3. Haga clic en Eliminar. Confirme que quiere eliminar el campo.

En algunos campos, como OBJECTID, CREATIONDATE, CREATOR, EDITDATE y EDITOR, y en los campos que se utilizan en el estilo y los filtros del mapa, la opción Eliminar no está disponible. No obstante, es posible que otros mapas utilicen campos para simbología y filtros distintos de los campos que utiliza su mapa y que la opción Eliminar esté disponible para esos campos. Tenga cuidado al eliminar campos que se puedan estar usando para la simbología y el filtrado en otros mapas.

Calcular un campo

Nota:
Los cálculos de campo no se pueden deshacer.
  1. Siga los pasos para mostrar una tabla.
  2. Haga clic en la columna que contenga el campo cuyos valores desee calcular.
  3. Haga clic en Calcular.

    Aparecerá el cuadro de diálogo Calcular campo.

Operaciones básicas

En el cuadro de diálogo Calcular campo, puede construir expresiones sencillas con operadores como los de suma, resta, multiplicación y división. A continuación se muestran algunos ejemplos y consejos:

  • Para multiplicar todos los valores de un campo numérico denominado SAMPLE por 100.0, escriba SAMPLE * 100.0 como expresión.
  • Para ecuaciones más complejas, puede usar paréntesis para especificar el orden de los cálculos, por ejemplo, SAMPLE * (BASELINE - 40).
  • Los operadores de coincidencia no funcionan en los campos de cadena de caracteres. Deberá usar las funciones de cadena de caracteres que se describen en la sección Funciones de cadenas de caracteres.
  • Si va a calcular un campo de tipo doble para convertirlo en un campo de tipo entero, puede agregar la función CAST automáticamente a la expresión. Por ejemplo, si va a calcular un campo de tipo doble denominado POP para ponerlo en un campo de tipo entero denominado SAMPLE, la expresión tendrá el aspecto CAST(SAMPLE AS FLOAT). No quite la función CAST. Consulte Funciones numéricas a continuación para obtener información sobre la función CAST.
  • Utilice comillas simples para incluir un apóstrofo en la cadena. Por ejemplo, 'L''Hospitalet'. No utilice comillas dobles.

Después de crear la expresión, haga clic en el botón Calcular. Si hay algún error, aparecerá un mensaje de error en la parte inferior del cuadro de diálogo.

A continuación se indican algunas consideraciones adicionales:

  • Si hay un filtro en la capa, solo se calcularán los valores de los registros que cumplan los criterios del filtro.
  • Calcular campo solo funciona con nombres de campo, no con alias. La lista Campos muestra todos los nombres de los campos disponibles para los cálculos. Puede filtrar la lista por tipo de campo Cadena de caracteres, Numérico y Fecha.
    • Si pasa el ratón por encima del nombre del campo en la lista Campos, se muestran el alias y el tipo de campo.
    • Si hace clic en un nombre de campo en la lista Campos, el campo se agrega a la expresión.

Uso de funciones

Además de expresiones sencillas con operadores, también puede usar funciones. Las funciones funcionan con nombres de campos, literales y otras funciones. Por ejemplo, supongamos que necesita calcular un campo doble para que sea TOTALPOP dividido por POP18. Si una función tiene POP18 igual a cero, el cálculo dará como resultado un error de división por cero. Puede protegerse frente a esto con la función NULLIF que se describe a continuación. La expresión sería TOTALPOP / NULLIF(POP18, 0).

Las funciones admiten argumentos. En las tablas siguientes, cualquier argumento puede ser:

  • Un nombre de campo, siempre que el tipo del campo coincida con el tipo del argumento (cadena de caracteres, número o fecha).
  • Un literal como, por ejemplo, 'Sailboat' (una cadena de caracteres entrecomillada con comillas simples), el número 5 o una fecha con el formato MM/DD/YYYY hh:mm:ss, entrecomillada con comillas simples.
  • Si su organización permite consultas SQL no estándar, es necesario marcar los caracteres no ingleses en un literal de cadena de caracteres con N (por ejemplo, N'针叶林').
  • Una función que devuelva un valor del tipo adecuado (cadena de caracteres, número o fecha). Por ejemplo, FLOOR(POWER(SAMP_ERR, 0.5)) devuelve el entero más grande que es menor o igual que la raíz cuadrada de SAMP_ERR.

Con fines ilustrativos, los ejemplos de la columna de descripción de las tablas siguientes utilizan mayoritariamente argumentos literales. Puede sustituir un nombre de campo u otra función por estos argumentos.

Funciones de cadena

FunciónDescripción

CHAR_LENGTH(cadena de caracteres)

Devuelve el número de caracteres en la cadena de caracteres. El resultado es un entero.

Ejemplo

  • CHAR_LENGTH('Redlands') devuelve 8.

CONCAT(cadena de caracteres1, cadena de caracteres2)

Concatena dos cadenas de caracteres.

Solo se pueden indicar dos cadenas. Para concatenar más de dos cadenas de caracteres, anide CONCAT consecutivas tal como se muestra en el ejemplo siguiente.

Ejemplo

  • CONCAT('A', 'B') devuelve 'AB'.
  • CONCAT('A', CONCAT(':', 'B')) devuelve 'A:B'.

Los valores nulos se convierten en cadenas vacías.

POSITION(subcadena de caracteres, cadena de caracteres )

Devuelve la posición de la primera ocurrencia de subcadena en cadena. Si no se encuentra subcadena, el resultado es 0.

Ejemplos

  • POSITION('boat', 'Sailboat') devuelve 5.
  • POSITION('motor', 'Sailboat') devuelve 0.

SUBSTRING(cadena de caracteres, inicio, longitud)

Devuelve una parte de cadena; inicio es un índice entero que especifica dónde empiezan los caracteres devueltos y longitud es el número de caracteres que se deben devolver.

Ejemplo

  • SUBSTRING('Sailboat', 5, 4) devuelve 'boat'.
  • SUBSTRING('Sailboat', 1, 4) devuelve 'Sail'.
  • SUBSTRING('Sailboat', 5, 100) devuelve 'boat'.

TRIM(BOTH | LEADING | TRAILING ' ' FROMcadena de caracteres)

Devuelve una cadena de caracteres en la que se han eliminado todos los espacios anteriores y posteriores a cadena.

Ejemplo

  • TRIM(BOTH ' ' FROM ' San Bernardino ') devuelve 'San Bernardino'.

Como se ve, en el segundo argumento hay espacios entre las comillas simples y el texto.

UPPER(cadena de caracteres)

Devuelve una cadena de caracteres con todos los caracteres de cadena convertidos en mayúsculas.

Ejemplo

  • UPPER('Sailboat') devuelve 'SAILBOAT'.

LOWER(cadena de caracteres)

Devuelve una cadena en la que todos los caracteres de cadena están convertidos en minúsculas.

Ejemplo

  • LOWER('Sailboat') devuelve 'sailboat'.

Funciones numéricas

Además de las funciones numéricas descritas a continuación, puede calcular estadísticas sobre columnas de datos. Estas estadísticas incluyen el número de registros, el valor mínimo y máximo, la suma de todos los valores, el valor medio y la desviación estándar de todos los valores.

  1. Haga clic en la columna que contenga el campo con los valores para los que desee obtener estadísticas.
  2. Realice una de las siguientes acciones:
    • Si está viendo la tabla en el Visor de mapas, haga clic en Estadísticas. Se muestran las estadísticas calculadas.
    • Si está viendo la tabla desde la pestaña Datos de la página de elementos, haga clic en Mostrar vista detallada. La tabla se reduce a una vista más centrada del campo que ha seleccionado y se muestra la información de las estadísticas

FunciónDescripción

ABS(número)

Devuelve el valor absoluto (positivo) de número.

CEILING(número)

Devuelve el valor entero más pequeño que es mayor o igual que número.

Ejemplo

  • CEILING(12.93) devuelve 13.

COS(número)

Devuelve el coseno trigonométrico de número, que se asume que es un ángulo en radianes.

CAST(númeroAS FLOAT | INT)

Convierte un número en otro tipo distinto. FLOAT convierte número en un doble e INT lo convierte en un entero.

FLOOR(número)

Devuelve el número entero más grande que sea menor o igual que número.

Ejemplo

  • FLOOR(12.93) devuelve 12.

LOG(número)

Logaritmo natural de número.

LOG10(número)

Logaritmo en base 10 de número.

MOD(número, n)

Devuelve el resto de la división de número por n, Tanto n como número deben ser de tipo entero.

Ejemplo

  • MOD(10, 4) devuelve 2.
  • MOD(CAST(DBLFIELD AS INT), 4)DBLFIELD es un campo de tipo doble, así que es necesario usar la función CAST para convertir los valores dobles en enteros.

NULLIF(número, valor)

Devuelve null si número es igual a valor. NULLIF se suele utilizar para evitar errores de división por cero poniendo valor a 0.

Siempre que un campo encuentre un campo con valor null en cualquiera de los argumentos, el resultado del cálculo será null.

Por ejemplo, supongamos que necesita calcular un campo doble para que sea TOTALPOP dividido por POP18. Si una función tiene POP18 igual a cero, el cálculo dará como resultado un error de división por cero. Puede crear un filtro para ocultar los registros donde POP18 es cero y después realizar el cálculo. Un atajo sería usar NULLIF.

  • TOTALPOP / NULLIF(POP18, 0) devuelve un valor null si POP18 es igual a cero. De lo contrario, devuelve el valor de TOTALPOP / POP18.

POWER(número , y)

Devuelve el valor de número elevado a la potencia y especificada.

ROUND(número , longitud)

Redondea número a la longitud especificada.

Si longitud es un número positivo, el número se redondea a la posición decimal especificada por la longitud. Si longitud es un número negativo, se redondea a la izquierda del punto decimal.

Ejemplos

  • ROUND(10.9934,2) devuelve 10.99.
  • ROUND(10.9964,2) devuelve 11.00.
  • ROUND(111.0,-2) devuelve 100.00.

SIN(número)

Devuelve el seno trigonométrico de número, que se asume que es un ángulo en radianes.

TAN(número)

Devuelve la tangente de número, que se asume que es un ángulo en radianes.

TRUNCATE(número, posición_decimal)

Trunca número en la posición_decimal especificada.

Un valor positivo de posición_decimal trunca el número en la posición decimal especificada. Si posición_decimal es un número negativo, se trunca a la izquierda del punto decimal.

Ejemplos

  • TRUNCATE(111.996,2) devuelve 111.99.
  • TRUNCATE(111.996,-2) devuelve 100.00.

Funciones de fecha

Hay algunas funciones disponibles para los campos de fecha. Para ver una lista de las funciones de fecha y obtener más información sobre cómo trabajar con campos de fecha en tablas de atributo, consulte Trabajar con campos de fecha.

Trabajar con campos de fecha

En los campos fecha se pueden realizar varios cálculos. Por ejemplo, puede agregar o restar tiempo de un campo de fecha o calcular la diferencia entre dos campos de fecha.

Funciones de fecha

Están disponibles las siguientes funciones de fecha:

FunciónDescripción

CURRENT_DATE()

Devuelve la fecha actual en hora UTC.

CURRENT_TIME()

Devuelve la fecha y hora UTC (horas, minutos y segundos) actuales.

CURRENT_TIMESTAMP()

Devuelve la fecha y hora UTC (horas, minutos, segundos y milisegundos) actuales.

EXTRACT(unit FROM date)

Devuelve una parte de una fecha/hora como, por ejemplo, año, mes, día, hora, minuto, etc.

Por ejemplo

  • EXTRACT(MONTH FROM 12/21/2016) devuelve 12.
  • EXTRACT(DAY FROM 12/21/2016 12:00) devuelve 21.
  • EXTRACT(HOUR FROM 12/21/2016 15:00) devuelve 15.

Calcular campos de fecha

Puede utilizar cualquier combinación de campos de fecha y numéricos y literales para calcular los campos de fecha. Si utiliza literales de fecha, debe utilizar formatos de fecha compatibles con SQL.

Agregar tiempo a una fecha o restar tiempo de una fecha

Puede que desee agregar o restar tiempo de un campo de fecha o un valor literal de fecha compatible con SQL para generar un campo de fecha actualizado. Por ejemplo, puede calcular una fecha de inspección o revisión futura agregando tiempo a una fecha.

Los cálculos siguientes se pueden utilizar para agregar o restar tiempo de un campo de fecha. En el primero se utilizan campos de fecha y en el segundo se utilizan valores literales de fecha. También se pueden utilizar campos numéricos y literales de número. Se admite cualquier combinación de campos y literales, tal y como se muestra en el tercer y cuarto cálculo.

<DateField> +/- <NumberField> = updated date
DATE'<SQL-supported Date Literal>'  +/- <Number of Days> = updated date
<DateField> +/- <Number of Days> = updated date
DATE'<SQL-supported Date Literal >'  +/- <NumberField> = updated date

El campo de fecha calculado es la fecha original más o menos el número de días que desee agregar o restar. El número de días puede ser un número entero y también puede incluir una fracción; por ejemplo, 1,5 representaría un día y medio o 36 horas.

En el ejemplo siguiente, se instaló una pieza de maquinaria el 14/6/2016 a las 10:00 AM. Podría utilizar cualquiera de los cálculos siguientes para generar una fecha de inspección transcurrido un mes (30 días) de esta fecha de instalación. En el primer cálculo se utiliza un campo de fecha con el valor 14/6/2016 y un campo numérico con el valor 30, mientras que en el segundo se utiliza un literal de fecha y un literal de número.

<MyDateField> + <MyNumberField> = 7/14/2016 10:00 AM
DATE'6/14/2016' + 30 = 7/14/2016 10:00 AM

Calcular la diferencia entre dos fechas

Puede que desee calcular el tiempo transcurrido entre dos fechas. Por ejemplo, si tiene fechas de instalación para contadores eléctricos y también tiene fechas de inspección, puede calcular la diferencia entre las dos fechas para verificar que el tiempo transcurrido entre la instalación y la inspección queda dentro de unas directrices válidas. El resultado del cálculo es un campo numérico en lugar de un campo de fecha.

Se puede utilizar cualquier combinación de campos de fecha y literales de fecha para calcular el tiempo transcurrido entre dos fechas. En el primer cálculo de abajo se utiliza un campo de fecha, mientras que en el segundo se utiliza un literal de fecha. En el tercer y cuarto cálculo se utiliza un campo de fecha y un literal de fecha.

<DateField1> - <DateField2> = number of days in between
DATE'<SQL-supported Date Literal>' - DATE'< SQL-supported Date Literal>' = number of days in between
<DateField1> - DATE'<SQL-supported Date Literal>' = number of days in between
DATE'<SQL-supported Date Literal>' - <DateField2>  = number of days in between

El resultado es un campo numérico que se calcula restando un campo/literal de fecha de otro campo/literal de fecha. El resultado del número (en días) puede ser un número entero y también puede incluir una fracción; por ejemplo, 1,5 representaría un día y medio o 36 horas.

En el ejemplo de la inspección de los contadores eléctricos mencionada antes, se puede utilizar cualquiera de los cálculos siguientes para calcular el tiempo transcurrido entre la fecha de instalación del 1/6/2015 y la fecha de inspección del 1/10/2015. En el primer cálculo se utilizan campos de fecha, en el segundo se utilizan literales de fecha y en el tercero y cuarto se utilizan tanto un campo de fecha como un literal de fecha.

<InspectionDateField> - <InstallationDateField> = 122 (days)
DATE'10/1/2015' - DATE'6/1/2015' = 122 (days)
<InspectionDateField> - DATE'6/1/2015' = 122 (days)
DATE'10/1/2015' - <InstallationDateField> = 122 (days)

Consideraciones para los campos de fecha

Es importante tener en cuenta la información siguiente al trabajar con campos de fecha.

Cambio del formato de visualización de un campo de fecha

Puede cambiar la forma de visualizar las fechas en la tabla. Las tablas se muestran con el mismo formato configurado para las ventanas emergentes. Puede cambiar el formato de visualización de un campo de fecha seleccionando el alias del campo en la ventana Configurar atributos de Propiedades del elemento emergente.

Introducción de fechas en formato MM/DD/YYYY hh:mm:ss

Independientemente de cómo se muestren las fechas en la tabla, solo puede introducirlas en formato MM/DD/YYYY hh:mm:ss, entrecomilladas entre comillas simples. Por ejemplo, para definir un campo de fecha a las 5:00 PM el 27 de mayo de 2014, debería escribir '27/05/2014 05:00:00PM', '27/05/2014 5:00PM' o '27/05/2014 17:00:00' (reloj de 24 horas). No se puede almacenar solo un valor de tiempo; siempre debe tener un componente de fecha.

Las fechas se almacenan en UTC

El Tiempo coordenado universal (UTC) es prácticamente equivalente a la hora actual en el meridiano base de la Tierra (cero grados de longitud) situado cerca de Greenwich, en Inglaterra. UTC es una versión más precisa de GMT (Hora de Greenwich). Los campos de fechas de las tablas agregadas a ArcGIS Online como elementos deben contener información de la zona horaria local o deben estar en UTC. Si el campo de fecha contiene información de la zona horaria local, el tiempo local se convierte a UTC antes de almacenarse en la base de datos. Las fechas se convierten a UTC porque la ubicación física del servidor donde se alojan sus datos puede estar en cualquier parte del mundo. La alternativa de almacenar la fecha y la hora en una zona horaria local provocaría todo tipo de problemas, en especial si usted o el servidor donde se almacenan sus datos se mueven a otra zona horaria. Si no se proporciona información de la zona horaria local en las tablas agregadas como elementos, los campos de fecha deben estar en UTC.

Cuando se muestra un campo de fecha en ArcGIS Online, la fecha se convierte de UTC a su hora local. Esto se hace mediante una consulta a su ordenador para determinar su configuración de zona horaria. Por ejemplo, supongamos que su equipo utiliza la Hora estándar del Pacífico (PST). PST es ocho horas menos que UTC; cuando en UTC son las 9:00 AM, es la 1:00 AM. PST (o 2:00 AM si se está utilizando el horario de verano).

Se asume que cualquier fecha que introduzca en una expresión SQL está en UTC, no en su zona horaria actual. Esta asunción puede dar lugar a confusiones. Por ejemplo, si introduce '27/05/2014 05:00:00PM' en un ordenador que utiliza PST, se mostrará 27/5/2014 9:00 AM debido a la conversión de hora descrita arriba.

Estos son algunos consejos para tener en cuenta la conversión de UTC a su zona horaria local:

  • Si necesita escribir su fecha y hora actual, utilice una de las funciones de tiempo siguientes, que siempre devuelven UTC.
  • Si escribe una fecha sin componente de hora, agregue 12 horas a la fecha. Por ejemplo, en lugar de escribir '5/27/2014', escriba '5/27/2014 12:00PM' o '5/27/2014 12:00'. El motivo de esta diferencia es que al escribir una fecha sin componente de hora, se introduce como la medianoche de esa fecha (5/27/2014 se convierte en 5/27/2014 00:00:00), y cuando se muestra en su zona horaria local se añaden o quitan horas. Por ejemplo, si está en PST y escribe 27/5/2014, se mostrará 26/5/2014 (7 horas menos que la medianoche del día 27).
  • Si va a introducir una fecha sin hora, aplique el desplazamiento de su zona horaria a la hora. Por ejemplo, si necesita escribir 27/5/2014 12 PM PST, aplique la diferencia de 8 horas y escriba '27/5/2014 8:00PM'. Para determinar la diferencia de zona horaria, puede buscar en Internet con una frase como calculadora diferencia hora UTC.
  • Para ver el contenido de su campo de fecha en UTC, puede agregar un campo de cadena de caracteres a la tabla y calcularlo para que sea igual que el campo de fecha. La fecha se convertirá en una cadena de caracteres sin diferencia de zona horaria. Esta cadena de caracteres también contiene milisegundos.

Restricciones

  • El cálculo no está disponible para el campo OBJECTID ni para campos que no sean de tipo cadena de caracteres, entero, doble o fecha.
  • Los cálculos de campo no se pueden deshacer.
  • La opción de eliminar no está disponible para los campos OBJECTID, CREATIONDATE, CREATOR, EDITDATE o EDITOR ni para campos que se utilizan para aplicar estilo, controles deslizantes de tiempo, filtros, etiquetas, búsquedas, configuración de elementos emergentes o rastreo del editor. No obstante, tenga en cuenta que es posible que otros mapas utilicen campos para estilos y filtros distintos de los campos que utiliza su mapa y que la opción Eliminar esté disponible para esos campos. Tenga cuidado al eliminar campos que se puedan estar usando para estilos y filtros en otros mapas.
  • Agregar campo, Eliminar y Calcular solo están disponibles para capas de entidades alojadas y tablas. Debe ser el propietario de la capa de entidades alojada o un administrador de su organización.
  • Agregar campo, Eliminar y Calcular no están disponibles para copias de capas de entidades alojadas ni para las capas de entidades alojadas que tienen capas de teselas relacionadas.
  • Agregar campo y Eliminar no están disponibles para vistas de capas de entidades alojadas.
  • Solo se admiten consultas SQL estándar, independientemente del ajuste Permitir solo consultas SQL estándar. de la configuración de seguridad de la organización.