Calcular un campo

Insights in ArcGIS Online
Insights in ArcGIS Enterprise
Insights Desktop

Puede agregar nuevos campos a su dataset utilizando la tabla de datos. La tabla de datos permite agregar campos, por ejemplo, tasas de crecimiento, porcentaje de pérdida y variaciones a lo largo del tiempo, mediante la elección de campos de su dataset y la aplicación de operadores y funciones.

Nota:
  • La tabla de datos proporciona una vista representativa de los datos y tiene un límite de visualización de 2000 filas. Organizar la tabla en orden ascendente y descendente permite ver las primeras 2000 filas y las últimas 2000 filas. Todos los cálculos se realizarán en el dataset completo.
  • El nuevo campo calculado solo aparece en su libro de trabajo, no en el dataset original. Por ejemplo, después de agregar un campo calculado de percentchange a un dataset CommodityPrices agregado desde Microsoft Excel, el campo percentchange está disponible en su libro de trabajo, pero no se agrega al archivo de Excel original. Si desea mantener el campo calculado fuera del libro de trabajo, puede crear una capa de entidades nueva compartiendo el dataset.
  • También puede calcular campos con Calcular % variación, Calcular ratio y Calcular puntuación z en Buscar respuestas.
Sugerencia:

Utilice la tabla de datos para agregar datos normalizados a su dataset para mapas, gráficos y tablas. Una vez calculados los datos y agregados a su dataset, cambie el tipo de campo para identificarlo como un campo de índice/ratio Campo de índice/ratio. Para obtener más información sobre la normalización de datos, consulte Mapas de coropletas.

Agregar un campo a su dataset

Para agregar un campo al dataset, siga estos:

  1. En el panel de datos, haga clic en el botón Opciones de dataset Opciones de dataset junto al dataset en el que desea agregar un campo calculado.
  2. Haga clic en Ver tabla de datos.
  3. Haga clic en + Campo.

    Una columna llamada Nuevo campo se incorpora a la tabla.

    Nota:

    Puede cambiar el tamaño y reordenar las columnas, pero estos cambios no se guardan.

  4. Haga clic en el encabezado de la nueva columna y proporcione y un nombre más descriptivo.
  5. Haga clic en fx o Introducir función de cálculo para mostrar un menú con funciones, nombres de campo y operadores para crear su fórmula. También es posible usar comandos del teclado equivalentes para reemplazar cualquier botón del menú fx.
  6. Use las funciones, campos y operadores para completar sus cálculos según sea necesario.
  7. Haga clic en Ejecutar. Si el botón Ejecutar no está habilitado, hay un error en la sintaxis de su cálculo.
  8. El nuevo campo calculado aparece en la parte inferior de su dataset. Puede eliminar un campo calculado seleccionándolo y haciendo clic en el botón Eliminar campo calculado Eliminar campo calculado.

Operadores

Es posible que calcular un campo requiera operadores lógicos y matemáticos. Estos operadores están disponibles para calcular los campos:

OperadoresUtilizar

+

Adición.

-

Resta.

×

Multiplicación. El comando de teclado equivalente es *.

÷

División. El comando de teclado equivalente es /.

xy

Función Potencia. El comando de teclado equivalente es ^.

<

Menor que.

>

Mayor que.

=

Igual.

<=

Menor o igual que.

>=

Mayor o igual que.

<>

No igual que.

,

Coma, usada como separador entre componentes de sintaxis en funciones.

(

Paréntesis izquierdo.

)

Paréntesis derecho.

AND

Operador lógico donde se deben cumplir todas las condiciones.

OR

Operador lógico donde se debe cumplir una de las condiciones.

IS NULL

Operador binario que prueba si los valores de un campo son nulos. Se asigna un valor de salida de 0 cuando el valor probado no es nulo, y un valor de salida de 1 cuando el valor probado es nulo.

IS NOT NULL

Operador binario que prueba si los valores de un campo no son nulos. Se asigna un valor de salida de 0 cuando el valor probado es nulo, y un valor de salida de 1 cuando el valor probado no es nulo.

Nota:

Los operadores matemáticos, como +, -, > e = son compatibles con los campos numéricos y de índice/ratio. Las funciones, como CONCATENATE() y DATEDIF(), se pueden utilizar en lugar de ciertos operadores matemáticos para campos de cadena de caracteres y campos de fecha/hora, respectivamente.

Los operadores IS NULL y IS NOT NULL son compatibles con todos los tipos de campos (cadena de caracteres, número, índice/ratio y fecha/hora) excepto las ubicaciones. Algunos campos de cadena de caracteres con valores nulos se pueden configurar como cadenas de caracteres vacías. En esos casos, IS NULL y IS NOT NULL no devolverán los resultados esperados. En su lugar, se deben usar las expresiones field="" y field<>"" en lugar de field IS NULL y field IS NOT NULL, respectivamente.

Los operadores AND y OR se pueden usar para unir condiciones que tengan sintaxis distintas a las de sus funciones lógicas correspondientes. Los siguientes ejemplos muestran cálculos equivalentes utilizando las funciones y los operadores:

Nota:

Al calcular campos, AND y OR se deben utilizar dentro de la función IF().

FunciónOperador

IF(AND(MeanAge>=18, MeanAge<=33),"Millennial","Other")

IF(MeanAge>=18 AND MeanAge<=33,"Millennial","Other")

IF(OR(Crime="Theft", Crime="Theft from vehicle", Crime="Shoplifting"), "Larceny", "Other")

IF(Crime="Theft" OR Crime="Theft from vehicle" OR Crime="Shoplifting", "Larceny", "Other")

Funciones

Se puede acceder a las funciones con el botón fx o el campo Introducir función de cálculo de la tabla de datos. Existen cuatro tipos de funciones: cadena de caracteres, numérica, fecha y lógica.

Al agregar una función a su cálculo, una ventana emergente muestra la sintaxis de la función. Puede eliminar el elemento emergente con el botón de cierre Cerrar diálogo o volverlo a mostrar haciendo clic en la función del campo Introducir función de cálculo.

Funciones de cadena

La mayoría de las funciones de cadenas de caracteres utilizan entradas de cadenas de caracteres para generar salidas de cadenas de caracteres. Las dos excepciones son la función VALUE() y la función FIND(), que utilizan entradas de cadenas de caracteres para generar salidas numéricas.

El texto de entrada en funciones de cadenas de caracteres puede ser literal (texto entre comillas) o valores de campos de categorías. En la tabla siguiente se utilizan campos de categorías para los ejemplos, junto con valores de ejemplo que se podrían encontrar en esos campos. Las comillas se utilizan en los valores de los campos para indicar que los campos tienen datos de categorías.

SintaxisDescripciónEjemplo

CONCATENATE(text1, [text2], ... )

Concatena dos o más valores de cadenas de caracteres.

Un dataset de colegios de California contiene campos de direcciones de calles, ciudades y códigos postales. Se puede crear un único campo de direcciones postales utilizando la función CONCATENATE():

  • Sintaxis de la función: CONCATENATE(Address,", ", City," , CA, ",ZIP)
  • Valores de campo de ejemplo:
    • Address = "380 New York St"
    • City = "Redlands"
    • ZIP = "92373"
  • Texto resultante: "380 New York St, Redlands, CA, 92373"

FIND(find_text, within_text, [start_num])

Indica la posición del texto especificado (carácter o caracteres) dentro de un campo de texto o de cadena de caracteres. La función FIND() puede resultar más útil cuando se utiliza junto con otras funciones como, por ejemplo, MID(), LEFT() o RIGHT().

Un dataset contiene un campo con direcciones de calles (incluido el número y el nombre de la calle). Para clasificar los datos por calle, el nombre de la calle se debe eliminar del resto de la dirección utilizando la función MID(). No obstante, cada número tiene una longitud diferente, por lo que el start_num será diferente para cada fila. El start_num se puede encontrar utilizando la función FIND():

  • Sintaxis de la función: FIND(" ", Address)
  • Valores de campo de ejemplo:
    • Address = "380 New York St"
  • Número resultante: 4

LEFT(text, [num_chars])

Devuelve parte de un campo de texto.

  • num_chars: especifica cuántos caracteres de la expresión se devolverán y deberán ser enteros. El número de caracteres se contará de izquierda a derecha, empezando por la primera posición. Si no se indica num_chars, el ajuste predeterminado será un carácter.

Un dataset de accidentes de tráfico incluye un campo de categoría con el día del accidente, incluido el día de la semana, la fecha y el año. Para estudiar los accidentes por día de la semana, se puede calcular un nuevo campo para que muestre los tres primeros caracteres del campo (empezando por el día de la semana) utilizando la función LEFT():

  • Sintaxis de la función: LEFT(Accident_Date, 3)
  • Valores de campo de ejemplo:
    • Accident_Date = "Monday, November 14, 2016"
  • Texto resultante: "Mon"

LOWER(text)

Devuelve una expresión de caracteres con todos los datos convertidos a minúsculas.

Un departamento de obras públicas está recopilando una lista de señales de tráfico que hay que sustituir. A medida que se agregan entradas nuevas a la lista, el formato del campo Status ha dejado de estar estandarizado, lo que dificulta mostrar las señales con valores únicos. El campo Status se puede estandarizar para que aparezca con todas las letras en minúsculas utilizando la función LOWER():

  • Sintaxis de la función: LOWER(Status)
  • Valores de campo de ejemplo:
    • Status = "Installed"
  • Texto resultante: "installed"

MID(text, start_num, [num_chars])

Devuelve parte de un campo de texto.

  • start_num: especifica la posición del primer carácter (empezando por 1). El start_num debe ser un entero.
  • num_chars: especifica cuántos caracteres de la expresión se devolverán y deberán ser enteros. No se devuelven caracteres vacíos si el valor de num_chars es mayor que la longitud de la cadena de caracteres. Si no se indica num_chars, el ajuste predeterminado serán todos los caracteres después del carácter inicial.

Un dataset de colegios de California contiene campos de direcciones de calles, ciudades y códigos postales. El nombre de la calle se puede aislar de la dirección utilizando la función MID():

  • Sintaxis de la función: MID(Address, 5, 20)
  • Valores de campo de ejemplo:
    • Address = "380 New York St"
  • Texto resultante: "New York St"

RIGHT(text, [num_chars])

Devuelve parte de un campo de texto.

  • num_chars: especifica cuántos caracteres de la expresión se devolverán y deberán ser enteros. El número de caracteres se contará de derecha a izquierda, empezando por la última posición. Si no se indica num_chars, el ajuste predeterminado será un carácter.

Un dataset de parques nacionales incluye un campo con el nombre del parque y el código de estado de dos dígitos. Para simbolizar los parques por estado, se puede agregar y calcular un campo nuevo utilizando la función RIGHT():

  • Sintaxis de la función: RIGHT(Park, 2)
  • Valores de campo de ejemplo:
    • Park = "Hawai'i Volcanoes National Park, HI"
  • Texto resultante: "HI"

SUBSTITUTE(source_text, old_text, new_text)

Reemplaza el texto antiguo de una cadena de caracteres con el nuevo texto especificado.

  • source_text: el texto o campo con texto.
  • old_text: el texto del source_text que se desea reemplazar.
  • new_text: el texto con el que se va a reemplazar el old_text.

Un dataset de ubicaciones de socavones contiene un campo de nombres de calles. El dataset se tiene que actualizar cuando Main Street cambia de nombre y se convierte en 5th Street. El campo street_name se puede actualizar usando la función SUBSTITUTE():

  • Sintaxis de la función: SUBSTITUTE(street_name, "Main", "5th")

Nota:

La función SUBSTITUTE() reemplazará todas las instancias de old_text con new_text. Por ejemplo, en la función SUBSTITUTE("aba", "a", "c") el texto resultante sería "cbc".

TRIM(text)

Devuelve la cadena de caracteres con los espacios adicionales eliminados de los finales.

Un servicio de entidades contiene campos de texto con espacios adicionales al principio y al final de los valores. Los espacios adicionales se pueden eliminar utilizando la función TRIM():

  • Sintaxis de la función: TRIM(City)
  • Valores de campo de ejemplo:
    • City = " Redlands "
  • Texto resultante: "Redlands"

UPPER(text)

Devuelve una expresión de caracteres con todos los datos convertidos a mayúsculas.

Un dataset con ubicaciones de sedes de organizaciones no gubernamentales contiene un campo con los nombres completos de las organizaciones y los acrónimos, si procede. Los acrónimos se pueden estandarizar para que aparezcan en mayúsculas utilizando la función UPPER():

  • Sintaxis de la función: UPPER(Org)
  • Valores de campo de ejemplo:
    • Org = "Nasa"
  • Texto resultante: "NASA"

VALUE(text, [format])

Convierte el texto en un número.

  • format: especifica el carácter utilizado como separador decimal en el número. El format puede ser una coma (",") o un punto ("."). Si no se indica unformat, el separador predeterminado será un punto.

Nota:

Las funciones anidadas dentro de la función VALUE() pueden generar resultados inesperados si no se proporciona un format. Por consiguiente, se recomienda que especifique un format cuando utilice la función VALUE().

La función VALUE() actualmente no admite la conversión de texto a números negativos.

Un dataset de tiendas minoristas tiene un campo de categoría con importes de ingresos. El campo Revenue se puede convertir a valores numéricos utilizando la función VALUE().

  • Sintaxis de la función: VALUE(Revenue, ".")
  • Valores de campo de ejemplo:
    • Revenue = "1.000,00"
  • Número resultante: 1.000,00

Funciones numéricas

Las funciones numéricas utilizan entradas numéricas para generar salidas de números. Las funciones numéricas se utilizarán con más probabilidad junto con otras funciones o como un método para transformar datos.

Los números de entrada pueden ser números literales o campos numéricos. En algunos de los ejemplos que aparecen a continuación se utilizan números como entradas en lugar de campos para mostrar mejor el uso de cada función.

SintaxisDescripciónEjemplo

ABS(number)

Devuelve el valor absoluto.

  • Sintaxis de la función: ABS(-350)
  • Número resultante: 350

AVG(number)

Devuelve el valor medio.

  • Sintaxis de la función: AVG(field)
  • Ejemplo de valores numéricos de field: 4, 5, 11, 6,5
  • Resultado: 6,63

CEILING(number)

Redondea un número al alza al múltiplo de 1 más cercano.

  • Sintaxis de la función: CEILING(7.8)
  • Número resultante: 8

COS(number)

El coseno trigonométrico del ángulo especificado, expresado en radianes.

Se puede utilizar la siguiente fórmula para convertir grados en radianes:

radianes = θπ/180 donde: θ = el ángulo en grados π ≈ 3,14

  • Sintaxis de la función: COS(0.35)
  • Número resultante: 0,94

FLOOR(number)

Redondea un número a la baja al múltiplo de 1 más cercano.

  • Sintaxis de la función: FLOOR(7.8)
  • Número resultante: 7

LN(number)

El logaritmo natural de la expresión flotante especificada. El logaritmo natural utiliza la constante e como valor base (aproximadamente 2,72)

  • Sintaxis de la función: LN(16)
  • Número resultante: 2,77

LOG(number)

El logaritmo de un número respecto a una base específica. El valor predeterminado es la base 10.

  • Sintaxis de la función: LOG(16, 2)
  • Número resultante: 4

MAX(number) o MAX(date)

Devuelve el valor máximo.

  • Sintaxis de la función: MAX(num_field)
  • Ejemplo de valores de num_field: 4, 5, 11, 6,5
  • Resultado: 11

MIN(number) o MIN(date)

Devuelve el valor mínimo.

  • Sintaxis de la función: MIN(date_field)
  • Ejemplos de valores de date_field: 03/17/2018, 02/14/2019, 10/31/2020
  • Resultado: 03/17/2018

POWER(number, power)

El valor de la expresión elevada a la potencia especificada.

  • Sintaxis de la función: POWER(2, 4)
  • Número resultante: 16

ROUND(number, num_digits)

Redondea valores numéricos a la cantidad de dígitos especificada.

  • num_digits = la cantidad de posiciones decimales en la salida
    • Si num_digits es positivo, el número se redondea a la cantidad correspondiente de posiciones decimales
    • Si num_digits es cero, el número se redondea al entero más cercano
    • Si num_digits es negativo, el número se redondea a la cantidad de dígitos especificada a la izquierda de la posición decimal

  • Sintaxis de la función: ROUND(54.854827, 2)
  • Número resultante: 54,85
  • Sintaxis de la función: ROUND(54.854827, -1)
  • Número resultante: 50

SIN(number)

El seno trigonométrico del ángulo especificado, expresado en radianes.

Se puede utilizar la siguiente fórmula para convertir grados en radianes:

radianes = θπ/180 donde: θ = el ángulo en grados π ≈ 3,14

  • Sintaxis de la función: SIN(0.79)
  • Número resultante: 0,71

STDEV(number)

La desviación estándar de un campo numérico.

  • Sintaxis de la función: STDEV(field)
  • Ejemplo de valores numéricos de field: 4, 5, 11, 6,5
  • Resultado: 3,09

SUM(number)

Devuelve el valor total.

  • Sintaxis de la función: SUM(field)
  • Ejemplo de valores numéricos de field: 4, 5, 11, 6,5
  • Resultado: 26,5

TAN(number)

Devuelve la tangente de la expresión de entrada.

Se puede utilizar la siguiente fórmula para convertir grados en radianes:

radianes = θπ/180 donde: θ = el ángulo en grados π ≈ 3,14

  • Sintaxis de la función: TAN(1.05)
  • Número resultante: 1,74

Funciones de fecha

Las funciones de fecha pueden utilizar entradas de campos de fecha, de texto o ninguna entrada, dependiendo de la función que se esté usando. Se puede utilizar la función DATEVALUE() para reemplazar un campo de fecha en la función DATEDIF() o TIMEDIF().

Nota:

Los campos de fecha/hora utilizados en DATEDIF() y DATEADD() deben tener un formato que incluya una fecha (en otras palabras, fecha y hora o solo fecha). No se aceptarán campos de fecha/hora solo de hora.

Los campos de fecha/hora utilizados en TIMEDIF() deben tener un formato que incluya una fecha (en otras palabras, fecha y hora o solo fecha). No se aceptarán campos de fecha/hora solo de hora.

SintaxisDescripciónEjemplo

DATE(year, month, day, [hour, minute, second], [AM/PM])

Crea un campo de fecha/hora usando tres o más campos o valores independientes. Se aceptan las siguientes especificaciones:

  • year: "YY" (año de dos dígitos) o "YYYY" (año de cuatro dígitos)
  • month: "MM" (1–12)
  • day: "DD" (1–31)
  • hour: "HH" (0–23) o "hh" (1–12)
  • minute: "mm" (0–59)
  • second: "ss" (0–59)
  • AM/PM: "AM"/"PM" (no distingue entre mayúsculas y minúsculas)

Nota:

Todos los campos de entrada pueden ser números o cadenas de caracteres, excepto el parámetro AM/PM. Los números deben ser valores enteros. Los años de dos dígitos deben ser cadenas.

Si va a usar la función DATE() con un dataset de base de datos y se han especificado parámetros de tiempo (hour, minute o second), debe introducir un valor de entrada para todos los parámetros de tiempo.

Un dataset de restaurantes incluye campos de cadena de caracteres con la fecha y la hora de las inspecciones sanitarias más recientes. Se puede crear un campo de fecha para las inspecciones utilizando la función DATE():

  • Sintaxis de la función: DATE(2016, Month, Day, Hour, Min, 00)
  • Valores de campo de ejemplo:
    • Month = 8
    • Day = 15
    • Hour = 11
    • Minute = 30
  • Fecha resultante: 8/15/2016, 11:30:00

Nota:

Las fechas resultantes de este ejemplo tendrán el formato correspondiente a un reloj de 24 horas. Para usar un reloj de 12 horas, debe especificar AM o PM. La misma función de ejemplo puede escribirse como DATE(2016, Month, Day, Hour, Min, 00, "AM").

TIME(hour, minute, second)

Crea un campo de fecha/hora usando tres campos o valores independientes. Se aceptan las siguientes especificaciones:

  • hour: "HH" (0–23) o "hh" (1–12)
  • minute: "mm" (0–59)
  • second: "ss" (0–59)
  • AM/PM: "AM"/"PM" (no distingue entre mayúsculas y minúsculas)

Nota:

Todos los campos de entrada pueden ser números o cadenas de caracteres, excepto el parámetro AM/PM. Los números deben ser valores enteros.

Un dataset de historias clínicas incluye las horas de llegada de los pacientes. Se puede crear un campo de hora para dichos registros con la función TIME():

  • Sintaxis de la función: TIME(Hour, Min, 00)
  • Valores de campo de ejemplo:
    • Hour = 11
    • Minute = 30
  • Hora resultante 11:30:00

Nota:

Las horas resultantes de este ejemplo tendrán el formato correspondiente a un reloj de 24 horas. Para usar un reloj de 12 horas, debe especificar AM o PM. La misma función de ejemplo puede escribirse como TIME(Hour, Min, 00, "AM").

DATEADD(date, integer, [unit])

Agrega una cantidad específica de tiempo a las fechas en el campo de entrada.

  • date debe ser un campo de fecha/hora. El campo debe tener un formato que incluya una fecha (en otras palabras, fecha y hora o solo fecha). No se aceptarán campos de fecha/hora solo de hora.
  • integer: El número que se agregará a la fecha de entrada. Si se usa una constante, el número debe ser un número entero y puede ser positivo o negativo. Si se utiliza un campo numérico, se ignorarán los decimales. Por tanto, es una buena práctica usar un campo que contenga solo números enteros o calcular un nuevo campo con números enteros (por ejemplo, usando la función ROUND()).
  • unit: La unidad de tiempo que se agregará. Los valores de unidad válidos incluyen los siguiente:
    • "ss" = segundos
    • "mm" = minutos
    • "h" = horas
    • "D" = días (predeterminado)
    • "M" = meses
    • "Y" = años

Si no se proporciona ninguna unidad, se utilizará "D".

Cuando se agregan meses a un campo de fecha/hora, la salida será el mismo día del mes, independientemente de la cantidad de días del mes. Si el día correspondiente del mes no es válido en el nuevo mes, se utiliza el último día del mes. Por ejemplo, si un cálculo agrega tres meses al campo de entrada y una de las fechas originales es el 30 de noviembre de 2021, el valor de salida del 30 de febrero de 2022 no es válido. El resultado se registrará el 28 de febrero de 2022, ya que 2022 no es año bisiesto.

Una unidad de salud pública es responsable de mantener los registros de vacunación de los pacientes en el distrito sanitario. Una vacuna específica tiene dos dosis que deben tomarse con al menos 60 días de diferencia y no más de 180 días de diferencia. DATEADD() se puede usar para crear campos con la primera fecha en que los pacientes son elegibles para su segunda dosis y la fecha límite para la dosis final.

Fecha de elegibilidad:

  • Sintaxis de la función: DATEADD(first_dose_date, 60, "D")
  • Valores de campo de ejemplo:
    • first_dose_date = 7/11/2021
  • Fecha resultante: 9/9/2021

Fecha final:

  • Sintaxis de la función: DATEADD(first_dose_date, 180, "D")
  • Valores de campo de ejemplo:
    • first_dose_date = 7/11/2021
  • Fecha resultante: 1/7/2022

TIMEADD(time, integer, unit)

Agrega una cantidad específica de tiempo a las horas en el campo de entrada.

  • time debe ser un campo de fecha/hora. La hora se puede agregar a todos los campos de fecha/hora, incluidos los campos que aún no incluyen un componente de hora.
  • integer: El número que se agregará a la hora de entrada. Si se usa una constante, el número debe ser un número entero y puede ser positivo o negativo. Si se utiliza un campo numérico, se ignorarán los decimales. Por tanto, es una buena práctica usar un campo que contenga solo números enteros o calcular un nuevo campo con números enteros (por ejemplo, usando la función ROUND()).
  • unit: La unidad de tiempo que se agregará. Los valores de unidad válidos incluyen los siguiente:
    • "ss" = segundos
    • "mm" = minutos
    • "h" = horas

Un dataset tiene fechas y horas registradas en horario universal coordinada (UTC) y debe convertirse al horario estándar central (CST). Se puede crear un campo de fecha/hora con horas en CST usando la función TIMEADD():

  • Sintaxis de la función: TIMEADD(UTC_date, -6, "h")
  • Valores de campo de ejemplo:
    • UTC_date = 7/11/2021 2:30:00 PM
  • Fecha resultante: 7/11/2021 8:30:00 AM

DATEDIF(start_date, end_date, [unit])

Calcula el tiempo transcurrido entre dos fechas. La start_date debe ser anterior a la end_date; de lo contrario, la salida será un valor negativo.

  • La start_date y la end_date pueden ser campos de fecha/hora o una función DATEVALUE(). Si se utilizan campos de fecha/hora, el campo debe estar en un formato que incluya una fecha (es decir, de fecha y hora o solo de fecha). No se aceptarán campos de fecha/hora solo de hora.
  • unit: la unidad del tiempo que se va a devolver. Los valores de unidad válidos incluyen los siguiente:
    • "ss" = segundos
    • "mm" = minutos
    • "h" = horas
    • "D" = días (predeterminado)
    • "M" = meses
    • "Y" = años

Si no se proporciona ninguna unidad, se utilizará "D".

El redondeo se realiza en los resultados de cada unidad de la siguiente manera:

  • Segundos: no se realiza el redondeo para los segundos.
  • Minutos: se cuenta un minuto cuando transcurren 60 segundos completos entre fechas. Los resultados se redondearán al valor inferior para los minutos parciales.
  • Horas: se cuenta una hora cuando transcurren 60 minutos completos entre fechas. Los resultados se redondearán al valor inferior para las horas parciales.
  • Días: se cuenta un día cuando transcurren 24 horas completas entre fechas. Los resultados se redondearán al valor inferior para los días parciales.
  • Meses: se cuenta un mes cuando transcurre un mes completo entre las fechas (por ejemplo, del 1 de enero al 1 de febrero), independientemente del número de días que tengan los meses concretos. Los resultados se redondearán al valor inferior para los meses parciales. Los componentes de tiempo, como las horas, no se tienen en cuenta en el cálculo.
  • Año: se cuenta un año cuando transcurren 183 días (medio año) entre fechas. Los resultados se redondearán al valor inferior en el caso de los años parciales que consten de menos de 183 días completos.

Un dataset de restaurantes incluye las fechas de las inspecciones sanitarias más recientes. El número de días transcurridos entre las inspecciones sanitarias se puede calcular utilizando la función DATEDIF():

Ejemplo 1:

  • Sintaxis de la función: DATEDIF(Inspection1, Inspection2, "D")
  • Valores de campo de ejemplo:
    • Inspection1 = 8/15/2016, 11:30:00 AM
    • Inspection2 = 10/31/2016 2:30:00 PM
  • Tiempo resultante (días): 77

Ejemplo 2:

  • Sintaxis de la función: DATEDIF(Inspection1, Inspection2, "D")
  • Valores de campo de ejemplo:
    • Inspection1 = 8/15/2016, 11:30:00 AM
    • Inspection2 = 8/16/2016 8:00:00 AM
  • Tiempo resultante (días): 0

Ejemplo 3:

  • Sintaxis de la función: DATEDIF(Inspection1, Inspection2, "M")
  • Valores de campo de ejemplo:
    • Inspection1 = 8/15/2016, 11:30:00 AM
    • Inspection2 = 10/31/2016 2:30:00 PM
  • Tiempo resultante (meses): 2

TIMEDIF(start_time, end_time, [unit])

Calcula el tiempo transcurrido entre dos valores de fecha/hora. La start_time debe ser anterior a la end_time; de lo contrario, la salida será un valor negativo.

  • La start_time y la end_time pueden ser campos de fecha/hora o una función DATEVALUE(). Si se utiliza una hora (por ejemplo, hh:mm:ss), tanto start_time como end_time deben tener el formato de solo hora.
  • unit: la unidad del tiempo que se va a devolver. Los valores de unidad válidos incluyen los siguiente:
    • "ss" = segundos (predeterminado)
    • "mm" = minutos
    • "h" = horas

Si no se proporciona ninguna unidad, se utilizará "ss".

El redondeo se realiza en los resultados de cada unidad de la siguiente manera:

  • Segundos: no se realiza el redondeo para los segundos.
  • Minutos: se cuenta un minuto cuando transcurren 60 segundos completos entre fechas. Los resultados se redondearán al valor inferior para los minutos parciales.
  • Horas: se cuenta una hora cuando transcurren 60 minutos completos entre fechas. Los resultados se redondearán al valor inferior para las horas parciales.

Un dataset de los registros de las operaciones quirúrgicas realizadas en un hospital incluye las horas de inicio y fin de las intervenciones. El tiempo que cada paciente pasa en dichas intervenciones se puede calcular con la función TIMEDIF():

  • Sintaxis de la función: TIMEDIF(TimeIn, TimeOut, "mm")
  • Valores de campo de ejemplo:
    • TimeIn = 11:30:00 AM
    • TimeOut = 2:30:20 PM
  • Tiempo resultante (minutos): 180

DATEVALUE(date_text, [format])

Convierte texto a fecha.

  • date_text puede ser un campo de cadena de caracteres o texto entre comillas.
  • format (opcional): el formato de la fecha introducida. El format se introduce como texto entre comillas. El format se puede introducir utilizando las siguientes especificaciones de unidad:
    • "MM": mes (1–12)
    • "DD": día del mes (1–31)
    • "YY": año con dos dígitos
    • "YYYY": año con cuatro dígitos
    • "HH": hora (0–23)
    • "hh": hora (1–12)
    • "mm": minutos (0–59)
    • "ss": segundos (0–59)
    • "AM"/"PM": sin distinción entre mayúsculas y minúsculas

Nota:

Las funciones anidadas dentro de la función DATEVALUE() pueden generar resultados inesperados si no se proporciona un format. Por consiguiente, se recomienda que especifique un format cuando anide funciones dentro de DATEVALUE().

Las fechas especificadas sin separadores (por ejemplo, "10312016") se tratarán como milisegundos si no se proporciona ningún format. Por consiguiente, se recomienda que especifique un formato cuando introduzca fechas sin separadores.

Para las fechas especificadas con separadores, pero sin un format, se averiguará el formato. Si no es posible averiguar el formato, se aplicará el "MM-DD-YY" predeterminado.

La función DATEVALUE() solo puede leer el texto escrito entre comillas o los campos de cadena de caracteres. No se puede usar un campo de fecha/hora como entrada de la función DATEVALUE().

Un dataset de restaurantes incluye las fechas de las inspecciones sanitarias más recientes. El número de días transcurridos desde la última inspección se puede calcular utilizando la función DATEVALUE() para especificar la fecha actual:

  • Sintaxis de la función: DATEDIF(Inspection_date, DATEVALUE("10/31/2016", "MM/DD/YYYY"), "D")
  • Valores de campo de ejemplo:
    • Inspection_date = 8/15/2016, 11:30:00 AM
  • Número resultante: 77

Las fechas y las horas pueden tener varios formatos. Los siguientes ejemplos muestran algunas de las maneras de dar al texto formato de fecha:

  • DATEVALUE("12/25/2016 12:30:25 pm", "MM/DD/YYYY hh:mm:ss pm")
  • DATEVALUE("12/25/2016 14:23:45", "MM/DD/YYYY HH:mm:ss")
  • DATEVALUE("25-08-2008 08:40:13 AM", "DD/MM/YYYY hh:mm:ss AM")

NOW()

Devuelve la fecha y hora actuales con el formato de fecha/hora. El tiempo se registra según el Tiempo universal coordinado (UTC).

Un dataset de restaurantes incluye las fechas de las inspecciones sanitarias más recientes. El número de días transcurridos desde la última inspección se puede calcular utilizando la función NOW() para especificar la fecha actual:

  • Sintaxis de la función: DATEDIF(Inspection_date, NOW(), "D")
  • Valores de campo de ejemplo:
    • Inspection_date= 8/15/2016, 11:30:00 AM
  • Número resultante: 77

Funciones lógicas

Las funciones lógicas utilizan entradas de cadena de caracteres o numéricas para generar salidas de cadena de caracteres o números. Las entradas pueden ser literales (texto rodeado por comillas o números constantes) o valores de campo. En la tabla siguiente se utiliza una combinación de campos y valores literales para los ejemplos, junto con valores de ejemplo que se podrían encontrar en esos campos.

SintaxisDescripciónEjemplo

AND(condition,condition, ...)

Prueba dos o más condiciones y devuelve TRUE si se cumplen todas las condiciones. AND() se debe usar con el parámetro condition de la función IF().

  • condition: cualquier expresión que incluya al menos un operador condicional. La condición puede incluir valores numéricos, de cadena de caracteres y de campo. Se pueden usar los siguientes operadores condicionales:
    • >: mayor que
    • <: menor que
    • >=: mayor o igual que
    • <=: menor o igual que
    • =: igual que
    • <>: no igual que

Un dataset contiene la edad media de las personas que viven en cada grupo de bloques. Un investigador de mercado quiere saber qué grupos de bloques contienen sobre todo millennials Los grupos de bloques con una edad media contenida en el rango de edades de los millennials se pueden encontrar usando una combinación de las funciones IF() y AND():

  • Sintaxis de la función: IF(AND(MeanAge>=18, MeanAge<=33),"Millennial","Other")
  • Valor de campo de ejemplo:
    • MeanAge = 43
  • Texto resultante: "Other"

IF(condition, TRUE_expression, [FALSE_expression])

Prueba una condición y devuelve un valor TRUE o basado en FALSE el resultado.

  • condition: cualquier expresión que incluya al menos un operador condicional. La condición puede incluir valores numéricos, de cadena de caracteres y de campo. Se pueden usar los siguientes operadores condicionales:
    • >: mayor que
    • <: menor que
    • >=: mayor o igual que
    • <=: menor o igual que
    • =: igual que
    • <>: no igual que
  • TRUE_expression: la expresión que se usará si se cumple la condición. Este parámetro es obligatorio.
  • FALSE_expression: la expresión que se usará si no se cumple la condición. Si no se proporciona FALSE_expression, el ajuste predeterminado será null.

TRUE_expression y FALSE_expression pueden ser cualquier expresión válida, incluida una función IF() anidada. El tipo de datos de TRUE_expression y FALSE_expression debe ser el mismo (por ejemplo, las dos cadenas de caracteres o los dos números).

Un dataset contiene campos con los ingresos y los gastos de unas tiendas, y esos campos se pueden usar para determinar el estado de esas tiendas (si han registrado un beneficio neto o una pérdida neta). El estado de cada tienda se puede determinar utilizando la función IF():

  • Sintaxis de la función: IF(Revenue>Expenses, "Profit","Loss")
  • Valores de campo de ejemplo:
    • Revenue = 400.000
    • Expenses = 350.000
  • Texto resultante: "Profit"

ISNULL(field)*

Comprueba si los valores de un campo son nulos. Se asigna un valor de salida de 0 cuando el valor probado no es nulo, y un valor de salida de 1 cuando el valor probado es nulo.

  • field: admite los tipos de campo cadena, número, índice/ratio y fecha/hora.

ISNULL() puede usarse por sí solo o dentro del parámetro condition de la función IF().

Un dataset contiene las ubicaciones de las colisiones de tráfico en las que se han visto implicados ciclistas, así como el tipo de carril bici presente en la calle en la que se produjo la colisión. En el caso de las colisiones que tuvieron lugar en una calle sin carril bici, el campo RouteType se deja en blanco. El dataset puede actualizarse para rellenar los valores nulos mediante una combinación de las funciones IF() y ISNULL():

  • Sintaxis de la función: IF(ISNULL(RouteType), "None", RouteType)

ISNOTNULL(field)*

Comprueba si los valores de un campo no son nulos. Se asigna un valor de salida de 0 cuando el valor probado es nulo, y un valor de salida de 1 cuando el valor probado no es nulo.

  • field: admite los tipos de campo cadena, número, índice/ratio y fecha/hora.

ISNOTNULL() puede usarse por sí solo o dentro del parámetro condition de la función IF().

Un dataset contiene las ubicaciones de las colisiones de tráfico en las que se han visto implicados ciclistas, así como el tipo de carril bici presente en la calle en la que se produjo la colisión. En el caso de las colisiones que tuvieron lugar en una calle sin carril bici, el campo RouteType se deja en blanco. El dataset puede actualizarse para rellenar los valores nulos mediante una combinación de las funciones IF() y ISNOTNULL():

  • Sintaxis de la función: IF(ISNOTNULL(RouteType), RouteType, "None")

OR(condition,condition, ...)

Prueba dos o más condiciones y devuelve TRUE si se cumple al menos una condición. OR() se debe usar con el parámetro condition de la función IF().

  • condition: cualquier expresión que incluya al menos un operador condicional. La condición puede incluir valores numéricos, de cadena de caracteres y de campo. Se pueden usar los siguientes operadores condicionales:
    • >: mayor que
    • <: menor que
    • >=: mayor o igual que
    • <=: menor o igual que
    • =: igual que
    • <>: no igual que

Un dataset contiene las ubicaciones de los delitos en una ciudad. Un analista especializado en delitos desea analizar el patrón de los robos en comparación con otros delitos similares. Para comparar el robo con otros delitos, el analista debe determinar primero si cada delito se ha considerado o no un robo. El tipo de delito se puede determinar usando una combinación de las funciones IF() y OR():

  • Sintaxis de la función: IF(OR(Crime="Theft", Crime="Theft from vehicle", Crime="Shoplifting"), "Larceny", "Other")
  • Texto resultante: "Larceny"

*Algunos campos sin datos pueden configurarse como vacíos, en lugar de nulos. En esos casos, ISNULL() y ISNOTNULL() no devolverán los resultados esperados. En su lugar, se deben usar las expresiones field="" y field<>"" en lugar de ISNULL(field) y ISNOTNULL(field), respectivamente.