Funciones y operadores de Looker

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

  • Cálculos rápidos para realizar rápidamente cálculos comunes en los campos numéricos que se encuentran en la tabla de datos de un Explorar

Si tu administrador te otorgó 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 conocidas como Lexp) se usan para realizar cálculos para lo siguiente:

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

Algunas funciones solo están disponibles para cálculos basados en tablas

Las expresiones de Looker para filtros personalizados y 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 dinámicas. Estas funciones solo se admiten para cálculos basados en tablas (incluidos los cálculos basados en tablas que se usan en el parámetro expression de una prueba de datos).

En esta página, se explica qué funciones y operadores están disponibles, según el lugar en el que uses tu expresión de Looker.

Funciones y operadores matemáticos

Las funciones y los operadores matemáticos funcionan de una de las siguientes dos maneras:

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

Funciones para cualquier expresión de Looker

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

Para ver un ejemplo, consulta la publicación de Comunidad Standard Deviation and Simple Time Series Outlier Detection Using Table Calculations (Detección de valores atípicos de series temporales simples y desviación estándar con cálculos basados en tablas).
ceiling ceiling(value) Devuelve el número entero más pequeño mayor o igual que value.
exp exp(value) Devuelve e elevado a la potencia de value.
floor floor(value) Devuelve el número entero más grande que sea menor o igual que 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 la división de value por divisor.
power power(base, exponent) Devuelve base elevado a la potencia de exponent.

Para ver un ejemplo, consulta la publicación de Comunidad Standard Deviation and Simple Time Series Outlier Detection Using Table Calculations (Detección de valores atípicos de series temporales simples y desviación estándar con cálculos basados en tablas).
rand rand() Devuelve un número aleatorio entre 0 y 1.
round round(value, num_decimals) Devuelve value redondeado a num_decimals posiciones decimales.

Para ver ejemplos que usan round, consulta las publicaciones de la comunidad Cómo usar pivot_index en cálculos basados en tablas y Detección de valores atípicos de series temporales simples y desviación estándar con cálculos basados en tablas.
sqrt sqrt(value) Devuelve la raíz cuadrada de value.

Para ver un ejemplo, consulta la publicación de Comunidad Standard Deviation and Simple Time Series Outlier Detection Using Table Calculations (Detección de valores atípicos de series temporales simples y desviación estándar con cálculos basados en tablas).

Funciones solo para cálculos basados en tablas

Muchas de estas funciones operan en varias filas y solo tendrán en cuenta las filas que devuelva tu consulta.

Función Sintaxis Objetivo
acos acos(value) Devuelve el arcocoseno de value.
asin asin(value) Devuelve el seno inverso de value.
atan atan(value) Devuelve la tangente inversa 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 probabilidad de éxito probability determinada. 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 tal 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 de chi cuadrado para la 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 la cantidad 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 del ancho del intervalo de confianza normal con un nivel de significancia alpha, una desviación estándar stdev y un tamaño de muestra n.
confidence_t confidence_t(alpha, stdev, n) Devuelve la mitad del ancho del intervalo de confianza de la distribución t de Student con un nivel de significancia 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 no null en la columna definida por expression, a menos que expression defina una columna de listas, en cuyo caso devuelve el recuento en cada lista.
count_distinct count_distinct(expression) Devuelve el recuento de valores distintos que no son null en la columna definida por expression, a menos que expression defina una columna de listas, en cuyo caso devuelve el recuento en cada lista.
covar_pop covar_pop(column_1, column_2) Devuelve la covarianza de la población de column_1 y column_2.
covar_samp covar_samp(column_1, column_2) Devuelve la covarianza de la 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 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 acumulativa 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 proporcionados de sample_size, la cantidad de 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 Comunidad Cómo realizar previsiones en Looker con cálculos de tablas.
kurtosis kurtosis(expression) Devuelve el exceso de curtosis muestral de la columna creada por expression, a menos que expression defina una columna de listas, en cuyo caso devuelve el exceso de curtosis muestral de cada lista.
large large(expression, k) Devuelve el kº valor más grande de la columna creada por expression, a menos que expression defina una columna de listas, en cuyo caso devuelve el kº valor más grande 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 que usan max, consulta las publicaciones de la comunidad Cómo usar listas en cálculos basados en tablas y Cómo agrupar por una dimensión en cálculos basados en tablas.
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 con mean, consulta las publicación de Comunidad Cómo calcular promedios móviles y Detección de valores atípicos de series temporales simples y desviación estándar con cálculos basados en tablas.
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 valor mínimo de la columna creada por expression, a menos que expression defina una columna de listas, en cuyo caso devuelve el valor 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 probabilidad de éxito probability determinada. 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 mean y stdev proporcionados. 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 normal acumulada 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 normal estándar acumulada inversa.
percent_rank percent_rank(column, value) Devuelve la clasificación de value en column como un porcentaje de 0 a 1 inclusive, donde column es la columna, el campo, la lista o el rango que contiene el conjunto de datos que se considerará, y value es la columna con el valor para el que se determinará la clasificación de porcentaje.

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 determinado, a menos que expression defina una columna de listas, en cuyo caso devuelve el valor del percentil para 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 deseas clasificar los pedidos según su precio de venta total, puedes usar rank(${order_items.total_sale_price},${order_items.total_sale_price}), que proporciona una clasificación para cada valor de order_items.total_sale_price en tu consulta cuando se compara con toda la columna de order_items.total_sale_price en tu consulta. En el caso en que expression defina varias listas, esta función devuelve el tamaño relativo de value en cada lista.

Para ver un ejemplo, consulta la publicación de Comunidad Ranks with Table Calculations.
rank_avg rank_avg(value, expression) Devuelve el rango promedio de value en la columna creada por expression, a menos que expression defina una columna de listas, en cuyo caso devuelve el rango promedio de value en cada lista.
running_product running_product(value_column) Devuelve un producto acumulado de los valores en value_column.
running_total running_total(value_column) Devuelve un total acumulado de los valores en value_column.

Para ver un ejemplo, consulta la página de prácticas recomendadas Cómo 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 de la muestra de la columna creada por expression, a menos que expression defina una columna de listas, en cuyo caso devuelve la asimetría de la muestra de cada lista.
slope slope(y_column, x_column) Devuelve la pendiente de la línea de regresión lineal que pasa por los puntos determinados por y_column y x_column.

Para ver un ejemplo, consulta la publicación de Comunidad Cómo realizar previsiones en Looker con cálculos de tablas.
small small(expression, k) Devuelve el kº 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º valor más pequeño de cada lista.
stddev_pop stddev_pop(expression) Devuelve la desviación estándar (poblacional) de la columna creada por expression, a menos que expression defina una columna de listas, en cuyo caso devuelve la desviación estándar (poblacional) 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 que usan sum, consulta las páginas de prácticas recomendadas Cómo calcular el porcentaje del total y Cómo agregar datos en filas (totales de filas) en cálculos basados en tablas.
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 normal acumulada inversa con dof grados de libertad.
t_test t_test(column_1, column_2, tails, type) t type: 1 = datos pareados, 2 = homoscedásticos, 3 = heteroscedásticos.
tan tan(value) Devuelve la tangente de value.
var_pop var_pop(expression) Devuelve la varianza (poblacional) de la columna creada por expression, a menos que expression defina una columna de listas, en cuyo caso devuelve la varianza (poblacional) 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 los valores existentes de data y stdev en la media hipotética value.

Operadores para cualquier expresión de Looker

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

Operador Sintaxis Objetivo
+ value_1 + value_2 Agrega value_1 y value_2.
- value_1 - value_2 Resta value_2 de value_1.
* value_1 * value_2 Multiplica value_1 y value_2.
/ value_1 / value_2 Divide value_1 entre value_2.

Funciones de string

Las funciones de cadena operan en oraciones, palabras o letras, que se denominan colectivamente "cadenas". Puedes usar funciones de cadena 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. Las funciones de cadena también se pueden usar para dar formato a los datos que se muestran en la tabla.

Funciones para cualquier expresión de Looker

Función Sintaxis Objetivo
concat concat(value_1, value_2, ...) Devuelve value_1, value_2, ... y value_n unidos como una sola cadena.
contains contains(string, search_string) Muestra 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 la cantidad de caracteres en string.
lower lower(string) Devuelve 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 string con todos los casos de old_string reemplazados por new_string.
substring substring(string, start_position, length) Devuelve la substring de string, que comienza en start_position y consta de length caracteres. El start_position 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 string con todos los caracteres convertidos a mayúsculas.

Funciones solo para cálculos basados en tablas

Función Sintaxis Objetivo
split split(string, delimeter) Devuelve una lista de cadenas en string divididas 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 Objetivo
add_days add_days(number, date) Agrega number días a date.
add_hours add_hours(number, date) Agrega number horas a date.
add_minutes add_minutes(number, date) Agrega number minutos a date.
add_months add_months(number, date) Agrega number meses a date.
add_seconds add_seconds(number, date) Agrega number segundos a date.
add_years add_years(number, date) Agrega number años a date.
date date(year, month, day) Devuelve la fecha "year-month-day" o null si la fecha no sería 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 sería válida.
diff_days diff_days(start_date, end_date) Devuelve la cantidad de días que hay entre start_date y end_date.

Para ver un ejemplo, consulta la publicación de Comunidad Cómo usar fechas en los cálculos de tablas.
diff_hours diff_hours(start_date, end_date) Devuelve la cantidad de horas entre start_date y end_date.
diff_minutes diff_minutes(start_date, end_date) Devuelve la cantidad de minutos entre start_date y end_date.

Para ver un ejemplo, consulta la publicación de Comunidad Cómo usar fechas en los cálculos de tablas.
diff_months diff_months(start_date, end_date) Devuelve la cantidad de meses entre start_date y end_date.

Para ver un ejemplo, consulta la publicación de Comunidad Cómo agrupar por una dimensión en los cálculos de tablas.
diff_seconds diff_seconds(start_date, end_date) Devuelve la cantidad de segundos entre start_date y end_date.
diff_years diff_years(start_date, end_date) Devuelve la cantidad de años entre start_date y end_date.
extract_days extract_days(date) Extrae los días de date.

Para ver un ejemplo, consulta la publicación de Comunidad Cómo usar fechas en los cálculos de tablas.
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 hora actuales.

Si deseas ver ejemplos del uso de now, consulta las publicaciones de la Comunidad La función de cálculo basado en tablas Now() ahora controla mejor las zonas horarias y Cómo usar fechas en los cálculos basados en tablas.
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 basados en tablas

Función Sintaxis Objetivo
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ógicos

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 algunos criterios, 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 Objetivo
case case(when(yesno_arg, value_if_yes), when(yesno_arg, value_if_yes), ..., else_value) Se agregó el 21.10 Permite la lógica condicional con múltiples 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 es null en value_1, value_2, ..., value_n si se encuentra y null de lo contrario.

Para ver ejemplos con coalesce, consulta las publicaciones de la comunidad Cómo crear un total acumulado en las filas con cálculos basados en tablas, Cómo crear un porcentaje del total en las filas con cálculos basados en tablas y Cómo usar pivot_index en los cálculos basados en tablas.
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.

Para ver un ejemplo, consulta la publicación de Comunidad Cómo agrupar por una dimensión en los cálculos de tablas.
is_null is_null(value) Muestra Yes si value es null, y No en caso contrario.

Para ver un ejemplo, consulta la página de documentación Crea expresiones de Looker. Para ver otro ejemplo que usa is_null con el operador NOT, consulta la página de documentación Cómo usar los cálculos de tablas.

Operadores para cualquier expresión de Looker

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

Operador Sintaxis Objetivo
= value_1 = value_2 Muestra Yes si value_1 es igual a value_2, y No en caso contrario.
!= value_1 != value_2 Muestra Yes si value_1 no es igual a value_2, y No en caso contrario.

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

Operador Sintaxis Objetivo
> value_1 > value_2 Devuelve Yes si value_1 es mayor que value_2 y No en caso contrario.
< value_1 < value_2 Muestra 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 los demás casos.
<= value_1 <= value_2 Devuelve Yes si value_1 es menor o igual que value_2 y No en los demás casos.

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

Operador Sintaxis Objetivo
AND value_1 AND value_2 Devuelve Yes si value_1 y value_2 son Yes, y No en caso contrario.
OR value_1 OR value_2 Devuelve Yes si value_1 o value_2 son Yes, y No en caso contrario.
NOT NOT value Devuelve Yes si value es No y No en caso contrario.

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

Constantes lógicas

Puedes usar constantes lógicas en las 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, usar comillas, como en "yes" y "no", crea cadenas literales con esos valores.

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

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

es equivalente a lo siguiente:

${field} > 100

También puedes usar 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 inferior a 1, o el valor del campo si es superior a 1:

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

Combinación de operadores AND y OR

Los operadores AND se evalúan antes que los operadores OR, a menos que especifiques el 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 de posición

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

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

Si tu Explorar contiene totales, puedes hacer referencia a los valores totales de las columnas y las filas:

Función Sintaxis Objetivo
: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 clasificación de las filas afecta los resultados de las funciones.

Función Sintaxis Objetivo
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.

Para ver un ejemplo, consulta la publicación de Comunidad Cómo usar listas en los cálculos de tablas.
lookup lookup(value, lookup_column, result_column) Devuelve el valor de result_column que se encuentra en la misma fila que value en lookup_column.
offset offset(column, row_offset) Devuelve el valor de la fila (n + row_offset) en column, donde n es el número de fila actual.

Para ver ejemplos que usan offset, consulta la página de prácticas recomendadas Cómo calcular el porcentaje del valor anterior y el cambio porcentual con cálculos basados en tablas.
offset_list offset_list(column, row_offset, num_values) Devuelve una lista de los valores de num_values a partir de la fila (n + row_offset) en column, donde n es el número de fila actual.

Para ver un ejemplo, consulta la publicación de Comunidad Cómo calcular promedios móviles.
row row() Devuelve el número de fila actual.

Algunas de estas funciones usan las posiciones relativas de las columnas de pivote, por lo que cambiar el orden de clasificación de la dimensión segmentada afecta los resultados de esas funciones.

Función Sintaxis Objetivo
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 segmentación en la posición pivot_index (1 para la primera segmentación, 2 para la segunda, etcétera). Devuelve nulo para los resultados sin segmentar.

Para ver ejemplos con pivot_index, consulta las publicaciones de la comunidad Cómo usar pivot_index en cálculos basados en tablas y Cómo crear un porcentaje del total en filas con cálculos basados en tablas.
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 segmentación. Devuelve nulo para los resultados sin segmentar.

Para ver ejemplos que usan pivot_offset, consulta la publicación de Comunidad Cómo crear un total acumulado en las filas con cálculos basados en tablas y la página de prácticas recomendadas Cómo calcular el porcentaje del valor anterior y el cambio porcentual con cálculos basados en tablas.
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 formato de tabla dinámica.
pivot_row pivot_row(expression) Devuelve los valores de expression que se obtuvieron con la función pivot como una lista. Devuelve null para los resultados sin formato de tabla dinámica.

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

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

Funciones de filtro para filtros y campos personalizados

Las funciones de filtro te permiten trabajar con expresiones de filtro para devolver valores basados en datos filtrados. Las funciones de filtro funcionan en filtros personalizados, filtros en medidas personalizadas y dimensiones personalizadas, pero no son válidas en los cálculos de tablas.

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