Plecto

Campos calculados en fuentes de datos

Campos calculados en fuentes de datos

Añade nuevas columnas y crea cálculos basados en los datos que ya tienes. Más opciones de datos te permiten visualizar KPIs más precisos.

Los campos calculados solo están disponibles en fuentes de datos de integración y manuales (no compatibles con SQL o API).

Esta función realiza cálculos en tiempo real, lo que puede provocar un rendimiento más lento en conjuntos de datos grandes.

Aprende a usar los Campos calculados: 👇

Tutorial: Campos calculados →

Uso de decimales en Campos calculados

Si quieres usar un cálculo que incluya un punto decimal (como 2.6 o 30.075), utiliza el punto en lugar de la coma. Esto se aplica a todas las localizaciones.

La sintaxis actual usa comas para manipular argumentos o separar un elemento de otro. Por lo tanto, si quieres incluir un número decimal, usa el punto.

Valor predeterminado de campo en Campos calculados

Puedes establecer un valor predeterminado en tu campo calculado en caso de que a algunas filas les falten datos. Si añades un valor predeterminado, este valor rellenará todas las filas vacías y las demás filas mantendrán su valor original.

Puedes usar esta función en un solo campo (por ejemplo, para mostrar "desconocido" en las filas sin datos) o integrar el valor predeterminado en un cálculo.

Ejemplos:

  • Field("Workspace ID","1234")

  • Field("Price") + Field("Extraordinary amount, "0")

  • Field("Lost Reason","unknown")

  • Field("End date", Now()) - devuelve la fecha de finalización. Si la fecha de finalización está vacía, devuelve la fecha y hora actuales.

  • Field("Customer Success Manager", Field("CSM Team Lead")) - devuelve los nombres de los CSM. Si el campo está vacío, devuelve el nombre del líder del equipo.

Cálculos simples con Field()

Con Field(), puedes realizar diferentes cálculos con los campos ya disponibles en tu fuente de datos.

Usa esta sintaxis: Field("Field_1") + Field("Field_2")

Ejemplos:

  1. Calcular el tiempo total en minutos: Field("Total time") / 60

  2. Sumar los valores de dos campos: Field("Price") + Field("VAT Amount")

  3. Restar los valores de un campo a otro: Field("Total price") - Field("Total tax")

  4. Combinar valores de dos campos de texto. Ver el nombre de la organización y su código de país (añade un espacio en blanco entre ambos para separarlos): Field("Organization name") + " " + Field("Country")

Los nombres de los campos distinguen entre mayúsculas y minúsculas, así que si escribes el cálculo manualmente, debes introducir los nombres exactamente como aparecen en la fuente de datos.

La función Now() en Campos calculados

Esta función devuelve la fecha y hora actuales. Puedes usarla como una declaración independiente – Now() – o combinarla con otras funciones.

Usa esta sintaxis: Now()

Ejemplos:

  1. Devolver la fecha y hora actuales: Now()

  2. Devolver la fecha y hora de un campo llamado End date. Si el campo tiene valores vacíos, el cálculo devolverá la fecha y hora actuales: Field("End date", Now())

  3. Diferencia de tiempo desde la fecha de inicio hasta ahora (en segundos): DateDiff(Field("Started at"), Now())

  4. Calcular la diferencia de tiempo entre Start date y End date. Si End date contiene valores vacíos, el campo calculado devolverá la fecha y hora actuales: DateDiff(Field("Start date"), Field("End date", Now()))

  5. Devolver el primer día del próximo mes:

    • Date(Year(Now()), Month(Now())+1, 1)

Frecuencia de actualización

  • Fuentes de datos – Los valores del campo calculado se actualizarán cada vez que actualices la página de la fuente de datos.

  • Dashboards – Los datos de tus widgets se actualizarán en cuanto se actualice tu fuente de datos (registros nuevos o actualizados) o cuando hagas clic en Recalcular en el dashboard.

Diferencia de fechas entre dos campos de la fuente de datos

La función DateDiff() calcula la diferencia de tiempo entre dos campos de fecha en segundos. El orden en el que añadas los campos no importa, Plecto siempre mostrará el valor absoluto.

Usa esta sintaxis: DateDiff(date_1, date_2)

Ejemplos:

  1. Diferencia de fecha desde la fecha de inicio hasta ahora (en segundos): DateDiff(Field("Started at"), Now())

  2. Calcular cuánto tiempo se tarda en cerrar un trato (en minutos): DateDiff(Field("Created date"), Field("Closed date"))/60

  3. Calcular la diferencia de fecha desde el 20 de abril de 2024 a las 9:15 hasta ahora (en segundos): DateDiff(Date(2024, 4, 20, 9, 15, 00), Now())

Los nombres de los campos distinguen entre mayúsculas y minúsculas, así que si escribes el cálculo manualmente, debes introducir los nombres exactamente como aparecen en la fuente de datos.

Convertir texto en números en tu fuente de datos

Usa esta función si el campo de tu fuente de datos contiene números, pero está formateado como texto. La función ToNumber() resuelve el problema por el que no puedes seleccionar un campo al crear una fórmula porque está formateado como texto.

Usa esta sintaxis: ToNumber(Field("Units"))

Ejemplos:

  1. Convertir el formato de texto en formato numérico en el campo Number of items: ToNumber(Field("Number of items"))

  2. Formatear los valores del campo Units en números. En los registros donde falla la conversión, se mostrará el valor predeterminado 0: ToNumber(Field("Units"), 0)

Problema conocido

Al convertir, ToNumber() elimina las comas: 1,000 (texto) se convertirá en 1000 (número). Se usa un punto como separador decimal: 1.23 (texto) se convertirá en 1.23 (número).

La función IF() en Campos calculados

Crea un campo calculado con una declaración IF y genera valores condicionales en tu fuente de datos. La condición puede ser cualquiera de las funciones disponibles en los campos calculados. IF() en campos calculados también admite declaraciones AND y OR.

Usa la siguiente sintaxis:

  • If(condition, if_true, if_false)

  • If(Field("Value")=100,1,0)

Ejemplos:

  1. Devolver cualquier valor numérico: If(Field("Amount")>=200,1,0)

  2. Devolver valores de texto. El texto debe ir entre comillas: If(Field("Amount")>=200,"Target reached","Working on it")

  3. Comprobar días laborables frente a fines de semana: Ejemplo 1: If(DayOfWeek(Field("date"))<=5, "Workday", "Weekend") Ejemplo 2: If(DayOfWeek(Field("date"))<=5, 1, 0)

  4. True() devuelve "Yes" y False() devuelve "No": If(Field("Amount")>=200,True(),False())

  5. Devolver valores de otros campos: If(Field("Amount")>=200,Field("Channel 1"),Field("Channel 2"))

  6. Usar cualquier otra función como condición: Ejemplo 1: If(DateDiff(Field("Start date"),Field("End date"))>(2*24*3600),True(),False()) Ejemplo 2: If(DateDiff(Field("Start date"),Now())<(4*3600),"On time","Delayed")

  7. Declaración AND (&&): If(Field("Campaign")=="React"&&(Field("Org size")>=100,Field("AE Large"),Field("AE Default"))

  8. Declaración OR (||): If(Field("Campaign")=="React"|| Field("Source")=="Referral",Field("AE Large"),Field("AE Default"))

  9. Función IF anidada: If(Field"Status")=="Closed Won",If(Field("Country")=="US",1,2),0)

  10. Convertir marcas de tiempo con el Epoch converter y usar fechas en la declaración: IF(Field("Start Date") >= 1677628800000 && Field("Start Date") <= 1709251199000, True(),False())

Bueno saber:

  • Las filas vacías devolverán filas vacías.

  • No puedes mezclar dos tipos de campo diferentes, como texto y número, para is true, is false. Una fórmula como la siguiente no funcionará: If(Field("Amount")>=200,1,"No")

La función Switch en Campos calculados

Con Switch(), especificamos pares de condiciones y los valores devueltos si se cumplen esas condiciones.

La función Switch usa la siguiente sintaxis:

Switch(Field("Org size") <=50, "Tom",Field("Org size") >50, "Maria","Anna")

Ejemplos:

  1. Switch(Condition1, Result1, Condition2, Result2, Condition3, Result3). Si el valor del campo Weekday es 1, devuelve Monday; si el valor es 2, devuelve Tuesday, etc.: Switch( Field("Weekday") == 1, "Monday", Field("Weekday") == 2, "Tuesday", Field("Weekday") == 3, "Wednesday" )

  2. Switch(Condition1, Result1, ..., Condition5, Result5, default_value). Si el valor del campo Weekday es 1, devuelve Monday; si el valor es 2, devuelve Tuesday. Si no se cumple ninguna de las condiciones, devuelve todos los demás días: Switch( Field("Weekday") == 1, "Monday", Field("Weekday") == 2, "Tuesday", "all the other days" )

  3. Si la diferencia de fecha y hora entre Received at y Answered at es menor o igual a 20 segundos, devuelve Fast. Si está entre 21 y 30 segundos, devuelve Slightly longer. Si es más de 31 segundos, devuelve Too long: Switch( DateDiff(Field("Received at"),Field("Answered at")) <= 20, "Standard", DateDiff(Field("Received at"),Field("Answered at")) <= 30, "Slightly longer", "Too long" )

  4. Encontrar el Account Executive adecuado: Switch( Field("Organization size") >= 100 && Field("Country") == "GB", "Adam", Field("Organization size") >= 30 && Field("Country") == "CL", "Anna", "Jonathan" )

  5. Cambiar "FR" por 🇫🇷 y otras banderas de países: Switch( Field("Organization address country") == "FR", "🇫🇷", Field("Organization address country") == "DK", "🇩🇰", Field("Organization address country") == "ES", "🇪🇸", Field("Organization address country") == "US", "🇺🇸" )

Bueno saber:

  • El orden es importante – devolvemos el valor de la primera condición que se cumple.

  • Con un número par de argumentos, asumimos que no hay valor predeterminado. Si el número de argumentos es impar, tratamos el último argumento como el valor predeterminado.

  • Las condiciones pueden ser más complejas, no tienen que referirse a un solo campo.

  • Todos los comparadores están disponibles:

    Equals==
    Does not equal!=
    Greater than>
    Less than<
    And&&
    Or||
  • No hay límite en el número de argumentos que puedes añadir en la función Switch.

  • No es necesario dividir la fórmula en líneas separadas, pero mejora la legibilidad.

  • Todos los resultados (y el valor predeterminado) deben ser del mismo tipo.

Convertir números a texto en tu fuente de datos

Usa esta función si el campo de tu fuente de datos contiene números y quieres formatearlos como texto.

Con la función ToText(), puedes combinar dos salidas de texto en el mismo campo. Por ejemplo, añadir Account Name + Account ID en el mismo campo.

Usa esta sintaxis: ToText(Field("Account ID"))

Ejemplos:

  1. Combinar Account Name y Account ID en un solo campo: Field("Account Name") + ToText(Field("Account ID"))

    Si quieres añadir un espacio entre Account Name e ID, puedes añadir un espacio en blanco + " " + en el cálculo, así: Field("Account Name") + " " + ToText(Field("Account ID"))

  2. Formatear valores de campo como texto. En los registros donde falla la conversión, añade la respuesta predeterminada "unknown": ToText(Field("Registration number", "unknown"))

Trabajar con argumentos individuales de fecha y hora

Puedes extraer partes individuales de una fecha-hora o usarlas como argumentos en una función Date(). Year, Month, Day of month, Day of week, Day of year, Week of year, Hour, Minute, Second.

Ejemplos:

  1. Devolver el año actual: Year(Now())

  2. Devolver el mes de un campo (por ejemplo, 5 para mayo): Month(Field("date"))

  3. Devolver qué día del mes es ahora mismo (por ejemplo, 11 para el día 11 del mes): DayOfMonth(Now())

  4. Devolver qué día es ahora mismo (por ejemplo, 2 para martes): DayOfWeek(Now())

  5. Usar estas funciones en declaraciones IF para comprobar días laborables frente a fines de semana:

    • If(DayOfWeek(Field("date"))<=5, "Workday", "Weekend")

    • If(DayOfWeek(Field("date"))<=5, 1, 0)

    • If(DayOfWeek(Field("date"))<=5, True(), False())

  6. Devolver qué día del año es la fecha indicada: DayOfYear(Date(2024, 5, 25)) – este es el 146 😁

  7. Devolver el número de semana (del 1 al 52): WeekOfYear(Now())

  8. Devolver la hora actual en la zona horaria de Londres: Hour(Now(), "Europe/London")

  9. Devolver el minuto de un campo de fecha: Minute(Field("date_modified"))

  10. Devolver el segundo actual. Los números se actualizan en cada actualización de página: Second(Now())

Si no se añade ninguna zona horaria, el valor predeterminado será UTC.

La función Date() en Campos calculados

La función Date() devuelve una fecha. Toma de 3 a 7 argumentos (*los primeros 3 son obligatorios): year*, month*, day*, hour, minute, second, time zone.

Esta función es muy personalizable, por lo que puedes combinar números estáticos, otras funciones y fechas de otros campos para devolver fechas personalizadas, comparar fechas o calcular diferencias de fechas.

Usa esta sintaxis: Date(Year, Month, Day, Hour, Minute, Second, Time zone)

Ejemplos:

  1. Usar Date() para devolver una fecha estática. Por ejemplo, Date(2024, 4, 20, 9, 15, 00) devolverá 2024-04-20 09:15:00 en el campo calculado.

  2. Añadir una zona horaria como último argumento. Si no se añade ninguna zona horaria, el valor predeterminado será UTC. Date(2024, 4, 20, 9, 15, 00, "Europe/Berlin")

    Si usas los botones de la caja de herramientas, Plecto añadirá la zona horaria configurada en tu organización.

  3. Combinar Date() con otras funciones y campos de la fuente de datos:

    • Date(Year(Now()),Month(Now()),Day(Now()),Hour(Now()), Minute(Now()), Second(Now()), "UTC")

    • Date(Year(Field("date")), Month(Now()), 20, "UTC")

  4. Devolver el primero de marzo del próximo año:

    Date(Year(Now())+1, 3, 1)

  5. Calcular la diferencia de fecha desde el 20 de abril de 2024 a las 9:15 hasta ahora (en segundos): DateDiff(Date(2024, 4, 20, 9, 15, 00), Now())

  6. Incluir Date() en una declaración IF. Si End date es igual o anterior al 10 de mayo de 2024 a las 14:00 (una fecha estática), muestra el mensaje "Ready before the deadline": IF(Field("End date")<=Date(2024, 5, 10, 14, 00, 00), "Ready before the deadline","Ready after the deadline")

Si no se proporcionan argumentos de hora (si se omiten hour, minute, second), Plecto usará por defecto 00:00:00.

La función Time() en Campos calculados

Esta función devuelve la hora y el minuto de un campo de fecha, por ejemplo: 13:45. Puedes usarla como una declaración independiente – Time() – o combinar Time con otras funciones.

La función Time toma hasta dos argumentos: fecha, zona horaria. Por ejemplo, Time(Field("Close Date"), "Europe/Berlin")

Usa esta sintaxis: Time()

Ejemplos:

  1. Devolver la hora y el minuto de un campo Closed Time. Si no se especifica ninguna zona horaria, el valor predeterminado será UTC: Time(Field("Closed Time"),"Europe/Copenhagen")

  2. Devolver la hora actual: Time(Now())

  3. Devolver la fecha y hora de un campo llamado End date. Si el campo tiene valores vacíos, el cálculo devolverá la fecha y hora actuales: Time(Field("End date", Now()), "Europe/Paris")

  4. Devolver la hora de una fecha de inicio de un widget en un dashboard: Time(StartDate(), "Europe/Copenhagen")

La función Contains en Campos calculados

Contains() es una función booleana que distingue entre mayúsculas y minúsculas y devuelve "Yes" o "No" en el campo calculado.

Usa esta sintaxis: Contains(Field("field_name"), "contains_keyword")

Ejemplos:

  1. Comprobar si el campo Campaign Name contiene la palabra "prepare." El campo calculado devolverá "Yes" o "No." Contains(Field("Campaign Name"), "prepare")

  2. Comprobar si la cadena UUID del miembro (campo Registration Employee) contiene "85e": Contains(Field("member_uuid"), "85e")

Funciones Employee y Team en Campos calculados

¡Mejora tus fuentes de datos con las funciones Employee() y Team()! Incluye empleados o equipos en la ecuación y canaliza tus datos según quién sea el propietario del registro.

Usa esta sintaxis:

  • Employee("Pierre Dubois")

  • Team("Sales France")

Ejemplos:

  1. Si el campo Primary Contact es igual al nombre "Pierre Dubois", devuelve "Pipeline A." En cualquier otro caso, devuelve "Pipeline B." IF(Field("Primary Contact")==Employee("Pierre Dubois"),"Pipeline A","Pipeline B")

  2. Si el UUID del equipo es igual al equipo llamado "Marketing," devuelve 100. De lo contrario, devuelve 0. If(Field("team_uuid") == Team("Marketing"), 100, 0)

Timedelta() – Desplazar un campo de fecha

Añade el parámetro Timedelta() a los campos de fecha y suma o resta segundos a una fecha.

Usa esta sintaxis: Timedelta()

Ejemplos:

  1. Sumar 3600 segundos (1 hora) a la fecha y hora actuales: Now() + Timedelta(3600)

  2. Restar 86400 segundos (24 horas) de la Created date: Field("Date created") - Timedelta(86400)