13. Funciones y Operadores de Analytics Pro

Una parte importante sobre la creación de expresiones en Analytics Pro son las funciones y operadores que puedes utilizar en ellas. Las funciones y operadores se dividen en algunas categorías básicas:

  • Matemáticas: funciones relacionadas con números.
  • Cadena o string: funciones relacionadas con palabras y letras.
  • Fechas: funciones relacionadas con la fecha y la hora.
  • Transformación lógica: incluye funciones booleanas (verdadero o falso) y operadores de comparación.

Operadores y funciones matemáticas

Función  Sintaxis Objetivo
abs abs(valor) Devuelve el valor absoluto del valor.
ceiling ceiling(valor) Devuelve el número entero más pequeño mayor o igual que el valor.
exp exp(valor) Devuelve e elevado a la potencia del valor.
floor floor(valor) Devuelve el número entero más grande menor o igual que el valor.
ln ln(valor) Devuelve el logaritmo natural de valor.
log log(valor) Devuelve el logaritmo del valor en base 10.
mod mod(valor, divisor) Devuelve el resto de dividir valor por divisor.
power power(base, exponent) Devuelve la base elevada a la potencia del exponente.
rand rand() Devuelve un número aleatorio entre 0 y 1.
round round(valor, num_decimals) Devuelve el valor redondeado a num_decimales decimales.
sqrt sqrt(valor) Devuelve la raíz cuadrada del valor.

 

Operadores para cualquier expresión de Analytics Pro

Operador Sintaxis Objetivo
+ valor_1 + valor_2 Suma valor_1 y valor_2.
- valor_1 - valor_2 Resta valor_2 de valor_1 .
* valor_1 * valor_2 Multiplica valor_1 y valor_2.
/ valor_1 / valor_2 Divide valor_1 por valor_2.

 

Funciones de cadena o string
Las funciones de cadena o string operan en oraciones, palabras o letras, que se denominan "strings o cadena". Puede usar este tipo de funciones para poner en mayúscula palabras y letras, extraer partes de una frase, verificar si una palabra o letra está en una frase o reemplazar elementos de una palabra o frase.

Función  Sintaxis Objetivo
concat concat(valor_1, valor_2, ...) Devuelve valor_1, valor_2, ..., valor_n unido como un string.
contains contains(string, search_string) Devuelve Yes si la cadena contiene search_string y No en caso contrario.
length length(string) Devuelve el número de caracteres en string.
lower lower(string) Devuelve un string con todos los caracteres convertidos a minúsculas.
position position(string, search_string) Devuelve el índice de inicio de search_string en string si existe, y 0 en caso contrario.
replace replace(string, old_string, new_string) Devuelve un string con todas las apariciones de old_string reemplazadas por new_string.
substring substring(string, start_position, length) Devuelve la subcadena de cadena, que comienza en start_position, que consta de caracteres de longitud. La posición_inicial comienza en 1, donde 1 indica el primer carácter de la cadena, 2 indica el segundo carácter de la cadena, y así sucesivamente.
upper upper(string) Devuelve un string con todos los caracteres convertidos a mayúsculas.

 

Funciones de fecha
Las funciones de fecha le permiten trabajar con fechas y horas.

Función  Sintaxis Objetivo
add_days add_days(number, date) Suma el número de días hasta la fecha.
add_hours add_hours(number, date) Suma el número de horas hasta la fecha.
inutes add_minutes(number, date) Suma el número de minutos hasta la fecha.
add_monthadd_ms add_months(number, date) Suma el número de meses hasta la fecha.
add_seconds add_seconds(number, date) Suma el número de segundos hasta la fecha.
add_years add_years(number, date) Suma el número de años hasta la fecha.
date_time date_time(year, month, day,
hours, minutes, seconds)
Devuelve Fecha “año-mes-día horas: minutos: segundos” o nulo si la fecha no es válida.
diff_days diff_days(start_date, end_date) Devuelve el número de días entre start_date y end_date.
diff_hours diff_hours(start_date, end_date) Devuelve el número de horas entre start_date y end_date.
diff_minutes diff_minutes(start_date, end_date) Devuelve el número de minutos entre start_date y end_date.
diff_months diff_months(start_date, end_date) Devuelve el número de meses entre start_date y end_date.
diff_seconds diff_seconds(start_date, end_date) Devuelve el número de segundos entre start_date y end_date.
diff_years diff_years(start_date, end_date) Devuelve el número de años entre start_date y end_date.
extract_days extract_days(date) Extrae los días a partir de la fecha.
extract_hours extract_hours(date) Extrae las horas a partir de la fecha.
extract_minutes extract_minutes(date) Extrae los minutos a partir de la fecha.
extract_months extract_months(date) Extrae los meses a partir de la fecha.
extract_seconds extract_seconds(date) Extrae los segundos a partir de la fecha.
extract_years extract_years(date) Extrae los años a partir de la fecha.
now now() Devuelve la fecha y hora actuales.
trunc_days trunc_days(date) Trunca la fecha a días.
trunc_hours trunc_hours(date) Trunca la fecha a horas.
trunc_minutes trunc_minutes(date) Trunca la fecha a minutos.
trunc_months trunc_months(date) Trunca la fecha a meses.
trunc_years trunc_years(date) Trunca la fecha a años.

 

Funciones lógicas, operadores y constantes

Función  Sintaxis Objetivo
case case(when(yesno_arg, value_if_yes), when(yesno_arg, value_if_yes), ..., else_value) Permite la lógica condicional con múltiples condiciones y resultados. Devuelve value_if_yes para el primer caso en el que el valor yesno_arg es yes. Devuelve else_value si todos los casos son no.
coalesce coalesce(value_1, value_2, ...) Devuelve el primer valor no nulo en valor_1, valor_2, ..., valor_n si se encuentra y "nulo" en caso contrario.
if if(yesno_expression,
value_if_yes,
value_if_no)
Si yesno_expression se evalúa como Yes, devuelve el valor value_if_yes. De lo contrario, devuelve el valor value_if_no.
is_null is_null(value) Devuelve Yes si el valor es nulo y No en caso contrario.

 

Los siguientes operadores de comparación se pueden utilizar con cualquier tipo de datos:

Operador Sintaxis Objetivo
= valor_1 = valor_2 Devuelve Yes si valor_1 es igual a valor_2 y No en caso contrario.
!= valor_1 != valor_2 Devuelve Yes si valor_1 no es igual a valor_2 y No en caso contrario.

 

Los siguientes operadores de comparación solo se pueden utilizar con números y fechas:

Operador Sintaxis Objetivo
> valor_1 > valor_2 Devuelve Yes si valor_1 es mayor que valor_2 y No en caso contrario.
< valor_1 < valor_2 Devuelve Yes si valor_1 es menor que valor_2 y No en caso contrario.
>= valor_1 >= valor_2 Devuelve Yes si valor_1 es mayor o igual que valor_2 y No en caso contrario.
<= valor_1 <= valor_2 Devuelve Yes si valor_1 es menor o igual que valor_2 y No en caso contrario.

 

También puedes combinar expresiones de Analytics Pro con estos operadores lógicos:

Operador Sintaxis Objetivo
AND valor_1 AND valor_2 Devuelve Yes si tanto valor_1 como valor_2 son Yes, y No en caso contrario.
OR valor_1 OR valor_2 Devuelve Yes si value_1 o value_2 es Yes y No en caso contrario.
NOT NOT value Devuelve Yes si el valor es No y No en caso contrario.

 

Constantes lógicas

Puede utilizar constantes lógicas en expresiones de Analytics Pro. Estas constantes siempre se escriben en minúsculas y tienen los siguientes significados:

Constante Significado
yes True/Verdadero
no False/Falso
null No value/Sin valor

 

Ten en cuenta que las constantes Yes y No son los símbolos especiales que significan verdadero o falso en las expresiones de Analytics Pro. Por el contrario, el uso de comillas como "Yes" y "No" crea strings/cadenas literales con esos valores.

Las expresiones lógicas se evalúan como verdaderas o falsas sin requerir una función If. Por ejemplo:

if(${field} > 100, yes, no)

es equivalente a esto:

${field} > 100

También puede utilizar null para indicar que no hay valor. Por ejemplo, es posible que desees determinar si un campo está vacío o asignar un valor vacío en una situación determinada. Esta fórmula no devuelve ningún valor si el campo es menor que 1, o el valor del campo si es mayor que 1:

if(${field} < 1, null, ${field})

 

Combinando operadores AND y OR

Los operadores AND se evalúan antes que los operadores OR, si no especifica el orden entre paréntesis. Por lo tanto, la siguiente expresión sin paréntesis adicionales:

if (
${order_items.days_to_process}>=4 OR
${order_items.shipping_time}>5 AND
${order_facts.is_first_purchase},
"review", "okay")

sería evaluado como:

if (
${order_items.days_to_process}>=4 OR
(${order_items.shipping_time}>5 AND ${order_facts.is_first_purchase}),
"review", "okay")

¿Fue útil este artículo?
Regístrate para opinar sobre nuestros artículos.