Funciones y operadores de Looker

Si tu administrador te ha concedido los permisos para crear cálculos de tabla, puedes usar las siguientes funciones para realizar rápidamente funciones comunes sin necesidad de crear expresiones de Looker:

  • Cálculos rápidos para hacer rápidamente cálculos comunes en los campos numéricos de la tabla de datos de un Exploración

Si tu administrador te ha concedido los permisos para crear campos personalizados, puedes usar las siguientes funciones para realizar rápidamente funciones comunes sin necesidad de crear expresiones de Looker:

Las expresiones de Looker (a veces denominadas Lexp) se usan para hacer cálculos en los siguientes casos:

Una parte importante de estas expresiones son las funciones y los operadores que puedes usar en ellas. Las funciones y los operadores se pueden dividir en varias categorías básicas:

Algunas funciones solo están disponibles para los cálculos de tabla

Las expresiones de Looker de los filtros personalizados y los campos personalizados no admiten funciones de Looker que conviertan tipos de datos, agreguen datos de varias filas o hagan referencia a otras filas o columnas de dinamización. Estas funciones solo se admiten en cálculos de tabla (incluidos los cálculos de tabla que se usan en el parámetro expression de una prueba de datos).

Esta página se ha organizado para aclarar qué funciones y operadores están disponibles en función de dónde uses tu expresión de Looker.

Funciones y operadores matemáticos

Las funciones y los operadores matemáticos funcionan de dos formas:

  • Algunas funciones matemáticas realizan cálculos basados en una sola fila. Por ejemplo, se pueden usar funciones de redondeo, raíz cuadrada, multiplicación y similares para los valores de una sola fila, lo que devuelve un valor distinto para cada fila. Todos los operadores matemáticos, como +, se aplican a las filas de una en una.
  • Otras funciones matemáticas, como las medias y los totales acumulados, operan en muchas filas. Estas funciones toman muchas filas y las reducen a un solo número, que se muestra en todas las filas.

Funciones para cualquier expresión de Looker

Función Sintaxis Finalidad
abs abs(value) Devuelve el valor absoluto de value.

Para ver un ejemplo, consulta la publicación de la comunidad Desviación estándar y detección de valores atípicos de series temporales simples mediante cálculos de tabla.
ceiling ceiling(value) Devuelve el menor número entero que sea superior o igual a value.
exp exp(value) Devuelve e elevado a la potencia value.
floor floor(value) Devuelve el mayor número entero inferior o igual a value.
ln ln(value) Devuelve el logaritmo natural de value.
log log(value) Devuelve el logaritmo en base 10 de value.
mod mod(value, divisor) Devuelve el resto de dividir value entre divisor.
power power(base, exponent) Devuelve base elevado a la potencia de exponent.

Para ver un ejemplo, consulta la publicación de la comunidad Desviación estándar y detección de valores atípicos de series temporales simples mediante cálculos de tabla.
rand rand() Devuelve un número aleatorio entre 0 y 1.
round round(value, num_decimals) Devuelve value redondeado a num_decimals decimales.

Para ver ejemplos de uso de round, consulta las publicaciones de la comunidad Usar pivot_index en cálculos de tabla y Desviación estándar y detección de valores atípicos de series temporales simples mediante cálculos de tabla.
sqrt sqrt(value) Devuelve la raíz cuadrada de value.

Para ver un ejemplo, consulta la publicación de la comunidad Desviación estándar y detección de valores atípicos de series temporales simples mediante cálculos de tabla.

Funciones solo para cálculos de tabla

Muchas de estas funciones operan en varias filas y solo tienen en cuenta las filas devueltas por tu consulta.

Función Sintaxis Finalidad
acos acos(value) Devuelve el arcocoseno de value.
asin asin(value) Devuelve el arcoseno de value.
atan atan(value) Devuelve la arcotangente de value.
beta_dist beta_dist(value, alpha, beta, cumulative) Devuelve la posición de value en la distribución beta con los parámetros alpha y beta. Si es cumulative = yes, devuelve la probabilidad acumulada.
beta_inv beta_inv(probability, alpha, beta) Devuelve la posición de probability en la distribución beta acumulada inversa con los parámetros alpha y beta.
binom_dist binom_dist(num_successes, num_tests, probability, cumulative) Devuelve la probabilidad de obtener num_successes éxitos en num_tests pruebas con la probability de éxito dada. Si es cumulative = yes, devuelve la probabilidad acumulada.
binom_inv binom_inv(num_tests, test_probability, target_probability) Devuelve el número más pequeño k de forma que binom(k, num_tests, test_probability, yes) >= target_probability.
chisq_dist chisq_dist(value, dof, cumulative) Devuelve la posición de value en la distribución gamma con dof grados de libertad. Si es cumulative = yes, devuelve la probabilidad acumulada.
chisq_inv chisq_inv(probability, dof) Devuelve la posición de probability en la distribución gamma acumulada inversa con dof grados de libertad.
chisq_test chisq_test(actual, expected) Devuelve la probabilidad de la prueba chi cuadrado de independencia entre los datos de actual y expected. actual puede ser una columna o una columna de listas, y expected debe ser del mismo tipo.
combin combin(set_size, selection_size) Devuelve el número de formas de elegir selection_size elementos de un conjunto de tamaño set_size.
confidence_norm confidence_norm(alpha, stdev, n) Devuelve la mitad de la anchura del intervalo de confianza normal con un nivel de significación alpha, una desviación estándar stdev y un tamaño de muestra n.
confidence_t confidence_t(alpha, stdev, n) Devuelve la mitad de la anchura del intervalo de confianza de la distribución t de Student con un nivel de significación alpha, una desviación estándar stdev y un tamaño de muestra n.
correl correl(column_1, column_2) Devuelve el coeficiente de correlación de column_1 y column_2.
cos cos(value) Devuelve el coseno de value.
count count(expression) Devuelve el recuento de valores que no son null de la columna definida por expression, a menos que expression defina una columna de listas, en cuyo caso devuelve el recuento de cada lista.
count_distinct count_distinct(expression) Devuelve el recuento de valores no null distintos de la columna definida por expression, a menos que expression defina una columna de listas, en cuyo caso devuelve el recuento de cada lista.
covar_pop covar_pop(column_1, column_2) Devuelve la covarianza poblacional de column_1 y column_2.
covar_samp covar_samp(column_1, column_2) Devuelve la covarianza de muestra de column_1 y column_2.
degrees degrees(value) Convierte value de radianes a grados.
expon_dist expon_dist(value, lambda, cumulative) Devuelve la posición de value en la distribución exponencial con el parámetro lambda. Si es cumulative = yes, devuelve la probabilidad acumulada.
f_dist f_dist(value, dof_1, dof_2, cumulative) Devuelve la posición de value en la distribución F con los parámetros dof_1 y dof_2. Si es cumulative = yes, devuelve la probabilidad acumulada.
f_inv f_inv(probability, dof_1, dof_2) Devuelve la posición de probability en la distribución F acumulada inversa con los parámetros dof_1 y dof_2.
fact fact(value) Devuelve el factorial de value.
gamma_dist gamma_dist(value, alpha, beta, cumulative) Devuelve la posición de value en la distribución gamma con los parámetros alpha y beta. Si es cumulative = yes, devuelve la probabilidad acumulada.
gamma_inv gamma_inv(probability, alpha, beta) Devuelve la posición de probability en la distribución gamma acumulada inversa con los parámetros alpha y beta.
geomean geomean(expression) Devuelve la media geométrica de la columna creada por expression, a menos que expression defina una columna de listas, en cuyo caso devuelve la media geométrica de cada lista.
hypgeom_dist hypgeom_dist(sample_successes, sample_size, population_successes, population_size, cumulative) Devuelve la probabilidad de obtener sample_successes a partir de los valores sample_size, population_successes y population_size. Si es cumulative = yes, devuelve la probabilidad acumulada.
intercept intercept(y_column, x_column) Devuelve la intersección de la línea de regresión lineal a través de los puntos determinados por y_column y x_column.

Para ver un ejemplo, consulta la publicación de la comunidad Cómo hacer previsiones en Looker con cálculos de tabla.
kurtosis kurtosis(expression) Devuelve la curtosis de exceso de la muestra de la columna creada por expression, a menos que expression defina una columna de listas, en cuyo caso devuelve la curtosis de exceso de la muestra de cada lista.
large large(expression, k) Devuelve el k-ésimo valor más alto de la columna creada por expression, a menos que expression defina una columna de listas, en cuyo caso devuelve el k-ésimo valor más alto de cada lista.
match match(value, expression) Devuelve el número de fila de la primera aparición de value en la columna creada por expression, a menos que expression defina una columna de listas, en cuyo caso devuelve la posición de value en cada lista.
max max(expression) Devuelve el valor máximo de la columna creada por expression, a menos que expression defina una columna de listas, en cuyo caso devuelve el valor máximo de cada lista.

Para ver ejemplos con max, consulta las publicaciones de la comunidad Usar listas en cálculos de tabla y Agrupar por una dimensión en cálculos de tabla.
mean mean(expression) Devuelve la media de la columna creada por expression, a menos que expression defina una columna de listas, en cuyo caso devuelve la media de cada lista.

Para ver ejemplos de uso de mean, consulta las publicaciones de la comunidad Calcular medias móviles y Desviación estándar y detección de valores atípicos de series temporales simples mediante cálculos de tabla.
median median(expression) Devuelve la mediana de la columna creada por expression, a menos que expression defina una columna de listas, en cuyo caso devuelve la mediana de cada lista.
min min(expression) Devuelve el mínimo de la columna creada por expression, a menos que expression defina una columna de listas, en cuyo caso devuelve el mínimo de cada lista.
mode mode(expression) Devuelve la moda de la columna creada por expression, a menos que expression defina una columna de listas, en cuyo caso devuelve la moda de cada lista.
multinomial multinomial(value_1, value_2, ...) Devuelve el factorial de la suma de los argumentos dividido por el producto de cada uno de sus factoriales.
negbinom_dist negbinom_dist(num_failures, num_successes, probability, cumulative) Devuelve la probabilidad de obtener num_failures fracasos antes de obtener num_successes éxitos, con la probability de éxito indicada. Si es cumulative = yes, devuelve la probabilidad acumulada.
norm_dist norm_dist(value, mean, stdev, cumulative) Devuelve la posición de value en la distribución normal con los valores de mean y stdev especificados. Si es cumulative = yes, devuelve la probabilidad acumulada.
norm_inv norm_inv(probability, mean, stdev) Devuelve la posición de probability en la distribución acumulada normal inversa.
norm_s_dist norm_s_dist(value, cumulative) Devuelve la posición de value en la distribución normal estándar. Si es cumulative = yes, devuelve la probabilidad acumulada.
norm_s_inv norm_s_inv(probability) Devuelve la posición de probability en la distribución acumulada normal estándar inversa.
percent_rank percent_rank(column, value) Devuelve la posición de value en column como porcentaje de 0 a 1 (ambos incluidos), donde column es la columna, el campo, la lista o el intervalo que contiene el conjunto de datos que se va a considerar, y value es la columna con el valor para el que se va a determinar la posición porcentual.

Ejemplo de uso:

percent_rank(${view_name.field_1}, ${view_name.field_1})

percent_rank(list(1, 2, 3), ${view_name.field_1})

percent_rank(list(1, 2, 3), 2)
percentile percentile(expression, percentile_value) Devuelve el valor de la columna creada por expression correspondiente al percentile_value proporcionado, a menos que expression defina una columna de listas. En ese caso, devuelve el valor del percentil de cada lista. percentile_value debe estar entre 0 y 1. De lo contrario, devuelve null.
pi pi() Devuelve el valor de pi.
poisson_dist poisson_dist(value, lambda, cumulative) Devuelve la posición de value en la distribución de Poisson con el parámetro lambda. Si es cumulative = yes, devuelve la probabilidad acumulada.
product product(expression) Devuelve el producto de la columna creada por expression, a menos que expression defina una columna de listas, en cuyo caso devuelve el producto de cada lista.
radians radians(value) Convierte value de grados a radianes.
rank rank(value, expression) Devuelve la clasificación de value en la columna creada por expression. Por ejemplo, si quiere clasificar los pedidos por su precio de venta total, puede usar rank(${order_items.total_sale_price},${order_items.total_sale_price}), que asigna un rango a cada valor de order_items.total_sale_price de su consulta al compararlo con toda la columna de order_items.total_sale_price de su consulta. En el caso de que expression defina varias listas, esta función devuelve el tamaño relativo de value en cada lista.

Por ejemplo, consulta la publicación de la comunidad Clasificaciones con cálculos de tabla.
rank_avg rank_avg(value, expression) Devuelve la posición media de value en la columna creada por expression, a menos que expression defina una columna de listas, en cuyo caso devuelve la posición media de value en cada lista.
running_product running_product(value_column) Devuelve el producto acumulado de los valores de value_column.
running_total running_total(value_column) Devuelve el total acumulado de los valores de value_column.

Por ejemplo, consulte la página de prácticas recomendadas Crear un total acumulado en las columnas con cálculos de tabla.
sin sin(value) Devuelve el seno de value.
skew skew(expression) Devuelve la asimetría muestral de la columna creada por expression, a menos que expression defina una columna de listas, en cuyo caso devuelve la asimetría muestral de cada lista.
slope slope(y_column, x_column) Devuelve la pendiente de la línea de regresión lineal de los puntos determinados por y_column y x_column.

Para ver un ejemplo, consulta la publicación de la comunidad Cómo hacer previsiones en Looker con cálculos de tabla.
small small(expression, k) Devuelve el k-ésimo valor más pequeño de la columna creada por expression, a menos que expression defina una columna de listas, en cuyo caso devuelve el k-ésimo valor más pequeño de cada lista.
stddev_pop stddev_pop(expression) Devuelve la desviación estándar (población) de la columna creada por expression, a menos que expression defina una columna de listas. En ese caso, devuelve la desviación estándar (población) de cada lista.
stddev_samp stddev_samp(expression) Devuelve la desviación estándar (muestra) de la columna creada por expression, a menos que expression defina una columna de listas, en cuyo caso devuelve la desviación estándar (muestra) de cada lista.
sum sum(expression) Devuelve la suma de la columna creada por expression, a menos que expression defina una columna de listas, en cuyo caso devuelve la suma de cada lista.

Para ver ejemplos de uso de sum, consulta las páginas de prácticas recomendadas Agregar datos de las filas (totales de las filas) en los cálculos de tablas y Cómo calcular el porcentaje del total.
t_dist t_dist(value, dof, cumulative) Devuelve la posición de value en la distribución t de Student con dof grados de libertad. Si es cumulative = yes, devuelve la probabilidad acumulada.
t_inv t_inv(probability, dof) Devuelve la posición de probability en la distribución acumulada normal inversa con dof grados de libertad.
t_test t_test(column_1, column_2, tails, type) Devuelve el resultado de una prueba t de Student en los datos de column_1 y column_2, usando 1 o 2 tails. type: 1 = emparejado, 2 = homocedástico, 3 = heterocedástico.
tan tan(value) Devuelve la tangente de value.
var_pop var_pop(expression) Devuelve la varianza (población) de la columna creada por expression, a menos que expression defina una columna de listas, en cuyo caso devuelve la varianza (población) de cada lista.
var_samp var_samp(expression) Devuelve la varianza (muestra) de la columna creada por expression, a menos que expression defina una columna de listas, en cuyo caso devuelve la varianza (muestra) de cada lista.
weibull_dist weibull_dist(value, shape, scale, cumulative) Devuelve la posición de value en la distribución de Weibull con los parámetros shape y scale. Si es cumulative = yes, devuelve la probabilidad acumulada.
z_test z_test(data, value, stdev) Devuelve el valor P de una cola de la prueba Z con la data y la stdev existentes en la media hipotética value.

Operadores de cualquier expresión de Looker

Puede usar los siguientes operadores matemáticos estándar:

Operador Sintaxis Finalidad
+ value_1 + value_2 Añade value_1 y value_2.
- value_1 - value_2 Resta value_2 a value_1.
* value_1 * value_2 Multiplica value_1 y value_2.
/ value_1 / value_2 Divide value_1 entre value_2.

Funciones de cadena

Las funciones de cadena operan en frases, palabras o letras, que se denominan "cadenas". Puedes usar funciones de cadena para poner en mayúsculas palabras y letras, extraer partes de una frase, comprobar si una palabra o una letra está en una frase o sustituir elementos de una palabra o una frase. Las funciones de cadena también se pueden usar para dar formato a los datos devueltos en la tabla.

Funciones para cualquier expresión de Looker

Función Sintaxis Finalidad
concat concat(value_1, value_2, ...) Devuelve value_1, value_2, ... y value_n unidos en una sola cadena.
contains contains(string, search_string) Devuelve Yes si string contiene search_string y No en caso contrario. La función contains distingue entre mayúsculas y minúsculas.
length length(string) Devuelve el número de caracteres de string.
lower lower(string) Devuelve string con todos los caracteres convertidos en minúsculas.
position position(string, search_string) Devuelve el índice inicial de search_string en string si existe y 0 en caso contrario.
replace replace(string, old_string, new_string) Devuelve string con todas las repeticiones de old_string sustituidas por new_string.
substring substring(string, start_position, length) Devuelve la subcadena de string, que empieza en start_position y consta de length caracteres. El start_position empieza por 1, donde 1 indica el primer carácter de la cadena, 2 indica el segundo carácter de la cadena, etc.
upper upper(string) Devuelve string con todos los caracteres convertidos en mayúsculas.

Funciones solo para cálculos de tabla

Función Sintaxis Finalidad
split split(string, delimeter) Devuelve una lista de cadenas de string separadas por delimiter.
to_number to_number(string) Devuelve el número representado por string o null si la cadena no se puede convertir.
to_string to_string(value) Devuelve la representación de cadena de value o una cadena vacía si value es nulo.

Funciones de fecha

Las funciones de fecha te permiten trabajar con fechas y horas.

Funciones para cualquier expresión de Looker

Función Sintaxis Finalidad
add_days add_days(number, date) Añade number días a date.
add_hours add_hours(number, date) Añade number horas a date.
add_minutes add_minutes(number, date) Añade number minutos a date.
add_months add_months(number, date) Añade number meses a date.
add_seconds add_seconds(number, date) Añade number segundos a date.
add_years add_years(number, date) Añade number años a date.
date date(year, month, day) Devuelve la fecha "year-month-day" o null si la fecha no es válida.
date_time date_time(year, month, day, hours, minutes, seconds) Devuelve la fecha year-month-day hours:minutes:seconds o null 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.

Por ejemplo, consulta la publicación de la comunidad Usar fechas en cálculos de tabla.
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.

Por ejemplo, consulta la publicación de la comunidad Usar fechas en cálculos de tabla.
diff_months diff_months(start_date, end_date) Devuelve el número de meses entre start_date y end_date.

Para ver un ejemplo, consulta la publicación de la comunidad Agrupar por una dimensión en cálculos de tabla.
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 de date.

Por ejemplo, consulta la publicación de la comunidad Usar fechas en cálculos de tabla.
extract_hours extract_hours(date) Extrae las horas de date.
extract_minutes extract_minutes(date) Extrae los minutos de date.
extract_months extract_months(date) Extrae los meses de date.
extract_seconds extract_seconds(date) Extrae los segundos de date.
extract_years extract_years(date) Extrae los años de date.
now now() Devuelve la fecha y la hora actuales.

Para ver ejemplos de uso de now, consulta la publicación de la comunidad Now() Table Calculation Function Has Better Timezone Handling (La función de cálculo de tabla Now() gestiona mejor las zonas horarias) y la publicación de la comunidad Using dates in table calculations (Usar fechas en cálculos de tabla).
trunc_days trunc_days(date) Trunca date a días.
trunc_hours trunc_hours(date) Trunca date a horas.
trunc_minutes trunc_minutes(date) Trunca date a minutos.
trunc_months trunc_months(date) Trunca date a meses.
trunc_years trunc_years(date) Trunca date a años.

Funciones solo para cálculos de tabla

Función Sintaxis Finalidad
to_date to_date(string) Devuelve la fecha y la hora correspondientes a string (AAAA, AAAA-MM, AAAA-MM-DD, AAAA-MM-DD hh, AAAA-MM-DD hh:mm o AAAA-MM-DD hh:mm:ss).

Funciones, operadores y constantes lógicas

Las funciones y los operadores lógicos se usan para evaluar si algo es verdadero o falso. Las expresiones que usan estos elementos toman un valor, lo evalúan según ciertos criterios y devuelven Yes si se cumplen los criterios y No si no se cumplen. También hay varios operadores lógicos para comparar valores y combinar expresiones lógicas.

Funciones para cualquier expresión de Looker

Función Sintaxis Finalidad
case case(when(yesno_arg, value_if_yes), when(yesno_arg, value_if_yes), ..., else_value) Añadido el 21/10 Permite la lógica condicional con varias condiciones y resultados. Devuelve value_if_yes para el primer caso de when cuyo valor de yesno_arg sea yes. Devuelve else_value si todos los casos de when son no.
coalesce coalesce(value_1, value_2, ...) Devuelve el primer valor que no sea null de value_1, value_2, ... y value_n si se encuentra y null en caso contrario.

Para ver ejemplos de uso de coalesce, consulta las siguientes publicaciones de la comunidad: Crear un total acumulado en las filas con cálculos de tabla, Crear un porcentaje del total en las filas con cálculos de tabla y Usar pivot_index en cálculos de tabla.
if if(yesno_expression, value_if_yes, value_if_no) Si yesno_expression da como resultado Yes, devuelve el valor de value_if_yes. De lo contrario, devuelve el valor de value_if_no.

Para ver un ejemplo, consulta la publicación de la comunidad Agrupar por una dimensión en cálculos de tabla.
is_null is_null(value) Devuelve Yes si value es null y No en caso contrario.

Para ver un ejemplo, consulta la página de documentación Crear expresiones de Looker. Para ver otro ejemplo en el que se usa is_null con el operador NOT, consulta la página de documentación Usar cálculos de tabla.

Operadores de cualquier expresión de Looker

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

Operador Sintaxis Finalidad
= value_1 = value_2 Devuelve Yes si value_1 es igual a value_2 y No en caso contrario.
!= value_1 != value_2 Devuelve Yes si value_1 no es igual a value_2 y No en caso contrario.

Los siguientes operadores de comparación se pueden usar con números, fechas y cadenas:

Operador Sintaxis Finalidad
> value_1 > value_2 Devuelve Yes si value_1 es mayor que value_2 y No en caso contrario.
< value_1 < value_2 Devuelve Yes si value_1 es menor que value_2 y No en caso contrario.
>= value_1 >= value_2 Devuelve Yes si value_1 es mayor o igual que value_2 y No en caso contrario.
<= value_1 <= value_2 Devuelve Yes si value_1 es menor o igual que value_2 y No en caso contrario.

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

Operador Sintaxis Finalidad
AND value_1 AND value_2 Devuelve Yes si tanto value_1 como value_2 son Yes. En caso contrario, devuelve No.
OR value_1 OR value_2 Devuelve Yes si value_1 o value_2 es Yes; de lo contrario, devuelve No.
NOT NOT value Devuelve Yes si value es No y No en los demás casos.

Estos operadores lógicos deben escribirse en mayúsculas. Los operadores lógicos escritos en minúsculas no funcionarán.

Constantes lógicas

Puedes usar constantes lógicas en expresiones de Looker. Estas constantes siempre se escriben en minúsculas y tienen los siguientes significados:

Constante Significado
yes Verdadero
no Falso
null 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 Looker. En cambio, si se usan comillas, como en "yes" y "no", se crean cadenas literales con esos valores.

Las expresiones lógicas se evalúan como verdaderas o falsas sin necesidad de usar la función if. Por ejemplo, esto:

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

es equivalente a lo siguiente:

${field} > 100

También puede usar null para indicar que no hay ningún valor. Por ejemplo, puede que quieras 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 inferior a 1, o el valor del campo si es superior a 1:

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

Combinar los operadores AND y OR

Los operadores AND se evalúan antes que los operadores OR, a menos que especifique otro orden con 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")

se evaluaría de la siguiente manera:

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

Funciones posicionales

Cuando creas cálculos de tabla, puedes usar funciones de transformación posicional para extraer información sobre los campos de diferentes filas o columnas de la tabla dinámica. También puedes crear listas y obtener el índice de la fila o columna dinámica actual.

Totales de columnas y filas solo para cálculos de tablas

Si tu Exploración contiene totales, puedes consultar los valores totales de las columnas y las filas:

Función Sintaxis Finalidad
:total ${field:total} Devuelve el total de la columna del campo.
:row_total ${field:row_total} Devuelve el total de la fila del campo.

Algunas de estas funciones usan las posiciones relativas de las filas, por lo que cambiar el orden de las filas afecta a los resultados de las funciones.

Función Sintaxis Finalidad
index index(expression, n) Devuelve el valor del elemento n de la columna creada por expression, a menos que expression defina una columna de listas, en cuyo caso devuelve el elemento n de cada lista.
list list(value_1, value_2, ...) Crea una lista a partir de los valores proporcionados.

Por ejemplo, consulta la publicación de la comunidad Usar listas en cálculos de tabla.
lookup lookup(value, lookup_column, result_column) Devuelve el valor de result_column que está en la misma fila que value en lookup_column.
offset offset(column, row_offset) Devuelve el valor de la fila (n + row_offset) de column, donde n es el número de fila actual.

Para ver ejemplos con offset, consulta la página de prácticas recomendadas Calcular el porcentaje del valor anterior y el porcentaje de cambio con cálculos de tabla.
offset_list offset_list(column, row_offset, num_values) Devuelve una lista de los valores de num_values que empiezan en la fila (n + row_offset) de column, donde n es el número de la fila actual.

Para ver un ejemplo, consulta la publicación de la comunidad Cálculo de medias móviles.
row row() Devuelve el número de fila actual.

Algunas de estas funciones usan las posiciones relativas de las columnas dinámicas, por lo que cambiar el orden de las dimensiones dinamizadas afecta a los resultados de esas funciones.

Función Sintaxis Finalidad
pivot_column pivot_column() Devuelve el índice de la columna dinámica actual.
pivot_index pivot_index(expression, pivot_index) Evalúa expression en el contexto de la columna de la tabla dinámica en la posición pivot_index (1 para la primera tabla dinámica, 2 para la segunda, etc.). Devuelve un valor nulo para los resultados sin dinamizar.

Para ver ejemplos de uso de pivot_index, consulta las publicaciones de la comunidad Usar pivot_index en cálculos de tabla y Crear un porcentaje del total en las filas con cálculos de tabla.
pivot_offset pivot_offset(pivot_expression, col_offset) Devuelve el valor de pivot_expression en la posición (n + col_offset), donde n es la posición actual de la columna de la tabla dinámica. Devuelve un valor nulo para los resultados sin dinamizar.

Para ver ejemplos con pivot_offset, consulta la publicación de la comunidad Crear un total acumulado en las filas con cálculos de tabla y la página de prácticas recomendadas Calcular el porcentaje del valor anterior y el cambio porcentual con cálculos de tabla.
pivot_offset_list pivot_offset_list(pivot_expression, col_offset, num_values) Devuelve una lista de los valores de num_values en pivot_expression a partir de la posición (n + col_offset), donde n es el índice de pivote actual. Devuelve null para los resultados sin dinamizar.
pivot_row pivot_row(expression) Devuelve los valores dinamizados de expression como una lista. Devuelve null para los resultados sin dinamizar.

Para ver ejemplos de uso de pivot_row, consulta las páginas de prácticas recomendadas Agregar datos de las filas (totales de las filas) en los cálculos de tablas y Cómo calcular el porcentaje del total.
pivot_where pivot_where(select_expression, expression) Devuelve el valor de expression de la columna dinámica que cumple select_expression de forma única o null si no existe ninguna columna única.

Las funciones de dinamización específicas que uses determinarán si el cálculo de tabla se muestra junto a cada columna dinamizada o como una sola columna al final de la tabla.

Funciones de filtro para filtros y campos personalizados

Las funciones de filtro permiten trabajar con expresiones de filtro para devolver valores basados en datos filtrados. Las funciones de filtro se pueden usar en filtros personalizados, filtros de medidas personalizadas y dimensiones personalizadas, pero no en cálculos de tabla.

Función Sintaxis Finalidad
matches_filter matches_filter(field, filter_expression) Devuelve Yes si el valor del campo coincide con la expresión de filtro y No si no.