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 tabla, en primer lugar debe mostrar la tabla. Consulte Mostrar tablas para obtener más información sobre las tablas.

  1. Abra el mapa Web con los datos de entidades que quiera ver en una tabla.
  2. Haga clic en Detalles y haga clic en Contenido.
  3. Vaya a la capa de entidades y haga clic en Mostrar tabla. La tabla aparece en la parte inferior del mapa.

Agregar campo

  1. Haga clic en Opciones de tabla.
  2. 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 los comentarios de la sección Funciones de fecha.
      • 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. Haga clic en la columna que contenga el campo que quiera eliminar.
  2. Haga clic en Eliminar. Se le pedirá que 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

  1. Haga clic en la columna que contenga el campo cuyos valores desee calcular.
  2. Haga clic en Calcular. Esto abre el cuadro de diálogo Constructor de expresiones.

Operaciones básicas

En el cuadro de diálogo Constructor de expresiones, puede construir expresiones sencillas con operadores como los de suma, resta, multiplicación y división.

  • 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 este tema.
  • Si va a calcular un campo de tipo doble para convertirlo en un campo de tipo entero, puede añadir 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 la información sobre la función CAST en la sección Funciones numéricas siguiente.
  • Utilice comillas simples para incluir un apóstrofe 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.

Otras consideraciones

  • Si hay un filtro en la capa, solo se calcularán los valores de los registros que cumplan los criterios del filtro.
  • El Constructor de expresiones 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 de un 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 protegerle 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 'Sailboat' (una cadena de caracteres entrecomillada con comillas simples), el número 5 o una fecha en 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, 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)

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

Ejemplo:

  • CHAR_LENGTH('Redlands') devuelve 8.

CONCAT(cadena1, cadena2)

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, cadena)*

Nota:

*Si el servidor de alojamiento de su portal usa ArcGIS Data Store o una base de datos administrada en PostgreSQL, debe utilizar POSITION(subcadena en cadena de caracteres) en su lugar.

Devuelve la posición de l 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, 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 ' ' FROM cadena)

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)

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

Ejemplo:

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

LOWER(cadena)

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 sobre cuyos valores desee obtener estadísticas.
  2. Haga clic en Estadísticas. Un cuadro de diálogo muestra las estadísticas calculadas.

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úmero AS 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)*

Nota:

*Si el servidor de alojamiento de su portal usa ArcGIS Data Store o una base de datos administrada en PostgreSQL, debe utilizar LN(número, decimal_place) en su lugar.

Logaritmo natural de número.

LOG10(número)*

Nota:

*Si el servidor de alojamiento de su portal usa ArcGIS Data Store o una base de datos administrada en PostgreSQL, debe utilizar LOG(número, decimal_place) en su lugar.

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. Por lo general, NULLIF se utiliza para evitar errores de división por cero poniendo valor a 0.

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

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 nulo 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 este parámetro. 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)*

Nota:

*Si el servidor de alojamiento de su portal usa ArcGIS Data Store o una base de datos administrada en PostgreSQL, debe utilizar TRUNC(número, decimal_place) en su lugar.

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 10.99.
  • TRUNCATE(111.996,-2) devuelve 100.00.

Funciones de fecha

Puede asignar una fecha y una hora a un campo de fecha. No se admiten operaciones como la resta entre dos fechas o la suma de tiempo a un campo de fecha.

Antes de empezar a calcular campos de fecha, debe tener en cuenta algunas cosas.

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 de la ventana 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 introducir la 5:00 p.m. del 27 de mayo de 2014, debe escribir '05/27/2014 05:00:00PM', '05/27/2014 5:00PM' o '05/27/2014 17:00:00' (formato de 24 horas). No se puede almacenar solo un valor de tiempo; siempre debe tener un componente de fecha.

Las fechas se introducen y almacenan en hora UTC

Se asume que los campos de fecha de las tablas contienen la fecha y hora UTC. UTC significa Universal Time Coordinated (Tiempo coordenado universal), y 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). Se asume que las fechas están en 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.

Siempre que se muestra un campo de fecha, la fecha se convierte de hora 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 está ocho horas por detrás de UTC (cuando UTC es 9:00AM, son las 1:00AM PST, o 2:00AM si se está utilizando el horario de verano).

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

Para tener en cuenta la conversión de zona horaria UTC/local, aquí tiene algunos consejos:

  • Si necesita escribir su fecha y hora actual, utilice una de las funciones de tiempo siguientes, que siempre devuelven la hora 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 5/27/2014, se mostrará 5/26/2014 (siete 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 5/27/2014 12PM PST, aplique la diferencia de ocho horas y escriba '5/27/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 hora 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.

Funciones de fecha

FunciónDescripción

CURRENT_DATE()*

Nota:

*Si el servidor de alojamiento de su portal usa ArcGIS Data Store o una base de datos administrada en PostgreSQL, debe utilizar CURRENT_DATE en su lugar.

Devuelve la fecha actual en hora UTC.

CURRENT_TIME()*

Nota:

*Si el servidor de alojamiento de su portal usa ArcGIS Data Store o una base de datos administrada en PostgreSQL, debe utilizar CURRENT_TIME en su lugar.

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

CURRENT_TIMESTAMP()*

Nota:

*Si el servidor de alojamiento de su portal usa ArcGIS Data Store o una base de datos administrada en PostgreSQL, debe utilizar CURRENT_TIMESTAMP en su lugar.

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

Restricciones

  • La opción de eliminar no está disponible para el campo OBJECTID ni para los campos que se utilicen en la simbología, controles deslizantes de tiempo, filtros, etiquetas o rastreo del editor. No obstante, tenga en cuenta que es posible que otros mapas utilicen campos para su simbología y sus 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.
  • Agregar, eliminar y calcular no están disponibles para copias de capas.
  • Agregar, eliminar y calcular solo son opciones disponibles en capas de entidades alojadas. Debe ser el propietario de la capa de entidades alojada o un administrador de su organización.
  • La opción de calcular solo está disponible si el servidor de alojamiento de su portal utiliza ArcGIS Data Store.
  • Solo se admiten consultas SQL estándar.