Fonctions et opérateurs Looker

Si votre administrateur vous a accordé les autorisations permettant de créer des calculs de table, vous pouvez utiliser les fonctionnalités suivantes pour exécuter rapidement des fonctions courantes sans avoir à créer d'expressions Looker:

  • Calculs de raccourcis pour effectuer rapidement des calculs courants sur des champs numériques qui se trouvent dans le tableau de données d'Explore

Si votre administrateur vous a accordé les autorisations permettant de créer des champs personnalisés, vous pouvez utiliser les fonctionnalités suivantes pour exécuter rapidement des fonctions courantes sans avoir à créer d'expressions Looker:

  • Groupes personnalisés pour regrouper rapidement les valeurs sous des étiquettes personnalisées sans avoir à développer de logique CASE WHEN dans les paramètres sql ni dans les champs type: case

  • Binaux personnalisés pour regrouper les dimensions de type numérique dans des niveaux personnalisés sans avoir à développer de champs LookML type: tier.

Les expressions Looker (parfois appelées Lexp) permettent de calculer les éléments suivants:

Les fonctions et opérateurs que vous pouvez utiliser figurent dans la plupart de ces expressions. Ces derniers peuvent être divisés en plusieurs catégories de base :

  • Mathématiques: fonctions liées aux nombres.
  • Chaîne: fonctions liées à un mot et à une lettre
  • Dates: fonctions liées à la date et à l'heure
  • Transformation logique: inclut des fonctions booléennes (vrai ou faux) et des opérateurs de comparaison
  • Transformation de position: récupérer des valeurs à partir de différentes lignes ou différents tableaux croisés dynamiques

Certaines fonctions sont uniquement disponibles pour les calculs de table

Les expressions Looker pour les filtres personnalisés et les champs personnalisés ne sont pas compatibles avec les fonctions Looker qui convertissent les types de données, regroupent des données à partir de plusieurs lignes, ou font référence à d'autres lignes ou colonnes croisées. Ces fonctions ne sont compatibles que pour les calculs de table (y compris les calculs de table utilisés dans le paramètre expression d'un test de données).

Cette page indique clairement les fonctions et opérateurs disponibles, selon l'endroit où vous utilisez votre expression Looker.

Fonctions et opérateurs mathématiques

Les fonctions et opérateurs mathématiques peuvent être utilisés de l'une des deux manières suivantes :

  • Certaines fonctions mathématiques effectuent des calculs basés sur une seule ligne. Par exemple, l'arrondi, l'utilisation de la racine carrée, la multiplication et des fonctions similaires peuvent être utilisés pour des valeurs figurant dans une seule ligne et renvoient une valeur distincte pour chaque ligne. Tous les opérateurs mathématiques, tels que +, sont appliqués ligne par ligne.
  • D'autres fonctions mathématiques, telles que les moyennes et les totaux cumulés, opèrent sur de nombreuses lignes. Elles utilisent plusieurs lignes et les réduisent en un seul nombre, puis affichent ce même nombre dans chaque ligne.

Fonctions utilisées dans n'importe quelle expression Looker

Fonction Syntaxe Objectif
abs abs(value) Renvoie la valeur absolue de value.

Pour obtenir un exemple, consultez l'article de la communauté sur l'écart-type et la détection simple des anomalies dans les séries temporelles.
ceiling ceiling(value) Renvoie le plus petit nombre entier supérieur ou égal à value.
exp exp(value) Renvoie e à la puissance value.
floor floor(value) Renvoie le plus grand nombre entier inférieur ou égal à value.
ln ln(value) Renvoie le logarithme naturel de value.
log log(value) Renvoie le logarithme de base 10 de value.
mod mod(value, divisor) Renvoie le reste de la division de value par divisor.
power power(base, exponent) Renvoie base élevé à la puissance exponent.

Pour obtenir un exemple, consultez l'article de la communauté sur l'écart-type et la détection simple des anomalies dans les séries temporelles.
rand rand() Renvoie un chiffre aléatoire compris entre 0 et 1.
round round(value, num_decimals) Renvoie la valeur value arrondie à num_decimals décimales.

Pour obtenir des exemples d'utilisation de round, consultez les posts destinés à la communauté sur l'utilisation de pivot_index pour le calcul des tables et l'écart type standard et la détection d'anomalies dans les séries temporelles simples.
sqrt sqrt(value) Renvoie la racine carrée de value.

Pour obtenir un exemple, consultez l'article de la communauté sur l'écart-type et la détection simple des anomalies dans les séries temporelles.

Fonctions destinées uniquement aux calculs de table

Nombre de ces fonctions utilisent plusieurs lignes et prennent en compte uniquement celles renvoyées par votre requête.

Fonction Syntaxe Objectif
acos acos(value) Renvoie le cosinus inverse de value.
asin asin(value) Renvoie le sinus inverse de value.
atan atan(value) Renvoie la tangente inverse de value.
beta_dist beta_dist(value, alpha,
beta, cumulative)
Renvoie la position de value sur la distribution bêta avec les paramètres alpha et beta. Si la valeur est cumulative = yes, renvoie la probabilité cumulée.
beta_inv beta_inv(probability,
alpha, beta)
Renvoie la position de probability sur la distribution bêta inverse inverse avec les paramètres alpha et beta.
binom_dist binom_dist(num_successes,
num_tests,
probability, cumulative)
Renvoie la probabilité d'obtenir des num_successes succès dans des tests num_tests avec un probability de réussite donné. Si la valeur est cumulative = yes, renvoie la probabilité cumulée.
binom_inv binom_inv(num_tests,
test_probability,
target_probability)
Renvoie le plus petit nombre k tel que binom(k, num_tests,
test_probability, yes)
>= target_probability.
chisq_dist chisq_dist(value, dof,
cumulative)
Renvoie la position de value sur la distribution gamma avec dof degrés de liberté. Si la valeur est cumulative = yes, renvoie la probabilité cumulée.
chisq_inv chisq_inv(probability, dof) Renvoie la position de probability sur la distribution gamma cumulée inverse avec dof degrés de liberté.
chisq_test chisq_test(actual,
expected)
Renvoie la probabilité du test du khi-deux pour l'indépendance entre les données actual et expected. actual peut être une colonne ou une colonne de listes, et expected doit être du même type.
combin combin(set_size,
selection_size)
Renvoie le nombre de façons de choisir des éléments selection_size dans un ensemble de tailles set_size.
confidence_norm confidence_norm(alpha,
stdev, n)
Renvoie la moitié de la largeur de l'intervalle de confiance normal au niveau de pertinence alpha, de l'écart type stdev et de la taille de l'échantillon n.
confidence_t confidence_t(alpha,
stdev, n)
Renvoie la moitié de la largeur de l'intervalle de confiance de la t-distribution de l'élève au niveau de pertinence alpha, à l'écart type stdev et à la taille de l'échantillon n.
correl correl(column_1, column_2) Renvoie le coefficient de corrélation de column_1 et column_2.
cos cos(value) Renvoie le cosinus de value.
count count(expression) Renvoie le nombre de valeurs non null dans la colonne définie par expression, sauf si expression définit une colonne de listes. Dans ce cas, renvoie le nombre dans chaque liste.
count_distinct count_distinct(expression) Renvoie le nombre de valeurs différentes de null dans la colonne définie par expression, sauf si expression définit une colonne de listes. Dans ce cas, renvoie le nombre dans chaque liste.
covar_pop covar_pop(column_1,
column_2)
Renvoie la covariance de population de column_1 et column_2.
covar_samp covar_samp(column_1,
column_2)
Renvoie l'exemple de covariance de column_1 et column_2.
degrees degrees(value) Convertit value de radians en degrés.
expon_dist expon_dist(value, lambda,
cumulative)
Renvoie la position de value sur la distribution exponentielle avec le paramètre lambda. Si la valeur est cumulative = yes, renvoie la probabilité cumulée.
f_dist f_dist(value, dof_1,
dof_2, cumulative)
Renvoie la position de value sur la distribution F avec les paramètres dof_1 et dof_2. Si la valeur est cumulative = yes, renvoie la probabilité cumulée.
f_inv f_inv(probability, dof_1,
dof_2)
Renvoie la position de probability sur la distribution F inverse cumulée avec les paramètres dof_1 et dof_2.
fact fact(value) Renvoie le factoriel de value.
gamma_dist gamma_dist(value, alpha,
beta, cumulative)
Renvoie la position de value sur la distribution gamma avec les paramètres alpha et beta. Si la valeur est cumulative = yes, renvoie la probabilité cumulée.
gamma_inv gamma_inv(probability,
alpha, beta)
Renvoie la position de probability sur la distribution gamma inverse inverse avec les paramètres alpha et beta.
geomean geomean(expression) Renvoie la moyenne géométrique de la colonne créée par expression, sauf si expression définit une colonne de listes. Dans ce cas, renvoie la moyenne géométrique de chaque liste.
hypgeom_dist hypgeom_dist
(sample_successes,
sample_size,
population_successes,
population_size,
cumulative)
Renvoie la probabilité d'obtenir sample_successes à partir du sample_size donné, du nombre de population_successes et de population_size. Si la valeur est cumulative = yes, renvoie la probabilité cumulée.
intercept intercept(y_column,
x_column)
Renvoie l'interception de la ligne de régression linéaire via les points déterminés par y_column et x_column.

Pour obtenir un exemple, consultez l'article de la communauté Comment effectuer des prévisions dans Looker grâce aux calculs de tables.
kurtosis kurtosis(expression) Renvoie l'exemple de kurtosis excédentaire de la colonne créée par expression, sauf si expression définit une colonne de listes. Dans ce cas, renvoie l'exemple de kurtosis excédentaire de chaque liste.
large large(expression, k) Renvoie la ke plus grande valeur de la colonne créée par expression, sauf si expression définit une colonne de listes, auquel cas la ke plus grande valeur de chaque liste est renvoyée.
match match(value, expression) Renvoie le numéro de ligne de la première occurrence de value dans la colonne créée par expression, sauf si expression définit une colonne de listes, auquel cas renvoie la position de value dans chaque liste.
max max(expression) Renvoie le maximum de la colonne créée par expression, sauf si expression définit une colonne de listes. Dans ce cas, renvoie le maximum de chaque liste.

Pour obtenir des exemples d'utilisation de max, consultez les posts de la communauté Utiliser des listes dans les calculs de tableaux et Regrouper des données en fonction d'une dimension dans les calculs de tableau.
mean mean(expression) Renvoie la moyenne de la colonne créée par expression, sauf si expression définit une colonne de listes. Dans ce cas, elle renvoie la moyenne de chaque liste.

Pour des exemples avec mean, consultez le post destiné à la communauté sur le calcul des moyennes mobiles et le post destiné à la communauté sur l'écart-type et la détection simple d'anomalies dans les séries temporelles.
median median(expression) Renvoie la médiane de la colonne créée par expression, sauf si expression définit une colonne de listes. Dans ce cas, elle renvoie la médiane de chaque liste.
min min(expression) Renvoie le min de la colonne créée par expression, sauf si expression définit une colonne de listes, auquel cas le min de chaque liste est renvoyé.
mode mode(expression) Renvoie le mode de la colonne créée par expression, sauf si expression définit une colonne de listes. Dans ce cas, renvoie le mode de chaque liste.
multinomial multinomial(value_1,
value_2, ...)
Renvoie la factorielle de la somme des arguments, divisée par le produit de chacune de leurs factorielles.
negbinom_dist negbinom_dist(num_failures,
num_successes,
probability,
cumulative)
Renvoie la probabilité d'obtenir des échecs num_failures avant d'obtenir des succès num_successes, avec le probability de réussite donné. Si la valeur est cumulative = yes, renvoie la probabilité cumulée.
norm_dist norm_dist(value, mean,
stdev, cumulative)
Renvoie la position de value sur la distribution normale avec les mean et les stdev indiqués. Si la valeur est cumulative = yes, renvoie la probabilité cumulée.
norm_inv norm_inv(probability, mean,
stdev)
Renvoie la position de probability sur la distribution cumulative normale inverse.
norm_s_dist norm_s_dist(value,
cumulative)
Renvoie la position de value sur la distribution normale standard. Si la valeur est cumulative = yes, renvoie la probabilité cumulée.
norm_s_inv norm_s_inv(probability) Renvoie la position de probability sur la distribution cumulée normale inverse standard.
percent_rank percent_rank(column, value) Renvoie le rang de value dans column sous la forme d'un pourcentage compris entre 0 et 1 inclus, où column est la colonne, le champ, la liste ou la plage contenant l'ensemble de données à prendre en compte, et value est la colonne avec la valeur pour laquelle le classement en pourcentage sera déterminé.

Exemple d'utilisation:

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(value_column,
percentile_value)
Renvoie la valeur de la colonne créée par expression correspondant au percentile_value donné, sauf si expression définit une colonne de listes. Dans ce cas, renvoie la valeur de centile pour chaque liste. percentile_value doit être compris entre 0 et 1. Sinon, renvoie null.
pi pi() Renvoie la valeur de pi.
poisson_dist poisson_dist(value, lambda,
cumulative)
Renvoie la position de value sur la distribution de poissons avec le paramètre lambda. Si la valeur est cumulative = yes, renvoie la probabilité cumulée.
product product(expression) Renvoie le produit de la colonne créée par expression, sauf si expression définit une colonne de listes. Dans ce cas, renvoie le produit de chaque liste.
radians radians(value) Convertit value de degrés en radians.
rank rank(value, expression) Renvoie le rang de value dans la colonne créée par expression. Par exemple, si vous souhaitez classer les commandes en fonction de leur prix soldé total, vous pouvez utiliser rank(${order_items.total_sale_price},${order_items.total_sale_price}), qui donne un classement pour chaque valeur de order_items.total_sale_price dans votre requête lorsque vous la comparez à l'intégralité de la colonne order_items.total_sale_price dans votre requête. Dans le cas où expression définit plusieurs listes, cette fonction renvoie la taille relative de value dans chaque liste.

Pour découvrir un exemple, consultez la publication Classements avec calcul de tables.
rank_avg rank_avg(value, expression) Renvoie le classement moyen de value dans la colonne créée par expression, sauf si expression définit une colonne de listes. Dans ce cas, il renvoie le classement moyen de value dans chaque liste.
running_product running_product
(value_column)
Renvoie un produit en cours d'exécution des valeurs dans value_column.
running_total running_total(value_column) Renvoie le total cumulé des valeurs dans value_column.

Vous trouverez un exemple dans la page Créer un total de colonnes de calcul avec des calculs de tables.
sin sin(value) Renvoie le sinus de value.
skew skew(expression) Renvoie l'asymétrie de la colonne créée par expression, sauf si expression définit une colonne de listes. Dans ce cas, il renvoie l'exemple d'asymétrie de chaque liste.
slope slope(y_column, x_column) Renvoie la pente de la ligne de régression linéaire via les points déterminés par y_column et x_column.

Pour obtenir un exemple, consultez l'article de la communauté Comment effectuer des prévisions dans Looker grâce aux calculs de tables.
small small(expression, k) Renvoie la ke plus petite valeur de la colonne créée par expression, sauf si expression définit une colonne de listes, auquel cas la ke plus petite valeur de chaque liste est renvoyée.
stddev_pop stddev_pop(expression) Renvoie l'écart type (population) de la colonne créée par expression, sauf si expression définit une colonne de listes. Dans ce cas, il affiche l'écart type (population) de chaque liste.
stddev_samp stddev_samp(expression) Renvoie l'écart type (échantillon) de la colonne créée par expression, sauf si expression définit une colonne de listes. Dans ce cas, il renvoie l'écart type (échantillon) de chaque liste.
sum sum(expression) Renvoie la somme de la colonne créée par expression, sauf si expression définit une colonne de listes. Dans ce cas, renvoie la somme de chaque liste.

Pour des exemples d'utilisation de sum, consultez les pages Agréger des lignes (totaux des lignes) dans les calculs de tables et Comment calculer le pourcentage du total.
t_dist t_dist(value, dof,
cumulative)
Renvoie la position de value 't-distribution avec dof degrés de liberté. Si la valeur est cumulative = yes, renvoie la probabilité cumulée.
t_inv t_inv(probability, dof) Renvoie la position de probability sur la distribution cumulative normale avec dof degrés de liberté.
t_test t_test(column_1, column_2,
tails, type)
Renvoie le résultat du test t d'un élève sur les données de column_1 et column_2, à l'aide de 1 ou 2 tails. type: 1 = associé, 2 = homoscédastique, 3 = hétéroscédastique.
tan tan(value) Renvoie la tangente de value.
var_pop var_pop(expression) Renvoie la variance (population) de la colonne créée par expression, sauf si expression définit une colonne de listes. Dans ce cas, elle renvoie la variance (population) de chaque liste.
var_samp var_pop(expression) Renvoie la variance (échantillon) de la colonne créée par expression, sauf si expression définit une colonne de listes. Dans ce cas, elle renvoie la variance (échantillon) de chaque liste.
weibull_dist weibull_dist(value, shape,
scale, cumulative)
Renvoie la position de value sur la distribution Weibull avec les paramètres shape et scale. Si la valeur est cumulative = yes, renvoie la probabilité cumulée.
z_test z_test(data, value, stdev) Renvoie la valeur p unilatérale du test z en utilisant les valeurs data et stdev existantes sur la moyenne hypothétique value.

Opérateurs utilisés dans n'importe quelle expression Looker

Vous pouvez utiliser les opérateurs mathématiques standard suivants :

Opérateur Syntaxe Objectif
+ value_1 + value_2 Ajout de value_1 et value_2.
- value_1 - value_2 Soustrait value_2 de value_1.
* value_1 * value_2 Multiplie value_1 et value_2.
/ value_1 / value_2 Divise value_1 par value_2.

Fonctions de chaîne

Les fonctions de chaîne fonctionnent sur des phrases, des mots ou des lettres, collectivement appelées "chaînes". Vous pouvez utiliser les fonctions de chaîne pour capitaliser des mots et lettres, extraire des parties de phrases, vérifier si un mot ou une lettre se trouve dans une phrase ou remplacer des éléments d'un mot ou d'une phrase. Les fonctions de chaîne peuvent également être utilisées pour formater des données renvoyées dans la table.

Fonctions utilisées dans n'importe quelle expression Looker

Fonction Syntaxe Objectif
concat concat(value_1, value_2, ...) Renvoie value_1, value_2, ... et value_n joints comme une chaîne.
contains contains(string, search_string) Renvoie Yes si string contient search_string et No dans le cas contraire.
length length(string) Renvoie le nombre de caractères dans string.
lower lower(string) Renvoie string avec tous les caractères convertis en minuscules.
position position(string, search_string) Renvoie l'index de départ de search_string dans string s'il existe et de 0 dans le cas contraire.
replace replace(string, old_string, new_string) Renvoie string avec toutes les occurrences de old_string remplacées par new_string.
substring substring(string, start_position, length) Renvoie la sous-chaîne de string, commençant par start_position et composée de length caractères. start_position commence à 1, où 1 indique le premier caractère de la chaîne, 2 indique le deuxième caractère de la chaîne, et ainsi de suite.
upper upper(string) Renvoie string avec tous les caractères convertis en majuscules.

Fonctions destinées uniquement aux calculs de table

Fonction Syntaxe Objectif
split split(string, delimeter) Renvoie une liste de chaînes dans string, réparties par delimiter.
to_number to_number(string) Renvoie le nombre représenté par string ou null si la chaîne ne peut pas être convertie.
to_string to_string(value) Renvoie la représentation de value sous forme de chaîne, ou une chaîne vide si value est nul.

Fonctions de date

Les fonctions de date vous permettent d'utiliser des dates et des heures.

Fonctions utilisées dans n'importe quelle expression Looker

Fonction Syntaxe Objectif
add_days add_days(number, date) Ajoute number jours à date.
add_hours add_hours(number, date) Ajoute number heures à date.
add_minutes add_minutes(number, date) Ajoute number minutes à date.
add_months add_months(number, date) Ajoute number mois à date.
add_seconds add_seconds(number, date) Ajoute number secondes à date.
add_years add_years(number, date) Ajoute number ans à date.
date date(year, month, day) Renvoie la date "year-month-day" ou null si elle n'est pas valide.
date_time date_time(year, month, day,
hours, minutes, seconds)
Renvoie la date
year-month-day hours:minutes:seconds ou null si elle n'est pas valide.
diff_days diff_days(start_date, end_date) Renvoie le nombre de jours entre start_date et end_date.

Vous trouverez un exemple dans l'article de la communauté Utiliser des dates dans les calculs de tables.
diff_hours diff_hours(start_date, end_date) Renvoie le nombre d'heures entre start_date et end_date.
diff_minutes diff_minutes(start_date, end_date) Renvoie le nombre de minutes entre start_date et end_date.

Vous trouverez un exemple dans l'article de la communauté Utiliser des dates dans les calculs de tables.
diff_months diff_months(start_date, end_date) Renvoie le nombre de mois entre start_date et end_date.

Pour obtenir un exemple, consultez l'article Communauté Regrouper par dimension dans les calculs de tableaux.
diff_seconds diff_seconds(start_date, end_date) Renvoie le nombre de secondes entre start_date et end_date.
diff_years diff_years(start_date, end_date) Renvoie le nombre d'années entre start_date et end_date.
extract_days extract_days(date) Extrait les jours de date.

Vous trouverez un exemple dans l'article de la communauté Utiliser des dates dans les calculs de tables.
extract_hours extract_hours(date) Extrait les horaires de date.
extract_minutes extract_minutes(date) Extrait les minutes de date.
extract_months extract_months(date) Extrait les mois de date.
extract_seconds extract_seconds(date) Extrait les secondes de date.
extract_years extract_years(date) Extrait les années de date.
now now() Renvoie la date et l'heure actuelles

Pour obtenir des exemples d'utilisation de now, consultez les posts de la communauté Utiliser la table de calcul Now() pour une meilleure gestion des fuseaux horaires et Utiliser des dates dans les calculs de tables.
trunc_days trunc_days(date) Tronque date aux jours.
trunc_hours trunc_hours(date) Tronque date à heures.
trunc_minutes trunc_minutes(date) Tronque date en minutes.
trunc_months trunc_months(date) Tronque date aux mois.
trunc_years trunc_years(date) Tronque date aux années.

Fonctions destinées uniquement aux calculs de table

Fonction Syntaxe Objectif
to_date to_date(string) Renvoie la date et l'heure correspondant à string (AAAA, AAAA-MM, AAAA-MM-JJ, AAAA-MM-JJ hh, AAAA-MM-JJ hh:mm ou AAAA-MM-JJ hh:mm:ss).

Fonctions logiques, opérateurs et constantes

Les fonctions logiques et les opérateurs permettent d'évaluer si la valeur d'un élément est « true » ou « false ». Les expressions qui utilisent ces éléments prennent une valeur, l'évaluent par rapport à certains critères, renvoient Yes si les critères sont remplis et No si les critères ne sont pas remplis. Il existe également plusieurs opérateurs logiques différents permettant de comparer des valeurs et de les combiner à des expressions logiques.

Fonctions utilisées dans n'importe quelle expression Looker

Fonction Syntaxe Objectif
case case(when(yesno_arg, value_if_yes), when(yesno_arg, value_if_yes), ..., else_value) ADDED 21.10 Permet une logique conditionnelle avec plusieurs conditions et résultats. Renvoie value_if_yes pour le premier cas when, dont la valeur yesno_arg est yes. Renvoie else_value si toutes les requêtes when sont no.
coalesce coalesce(value_1, value_2, ...) Renvoie la première valeur non-null dans value_1, value_2, ..., value_n si elle est trouvée et null dans le cas contraire.

Pour obtenir des exemples d'utilisation de coalesce, consultez les articles Créer un total cumulé pour les lignes avec les calculs de tables, Créer un pourcentage total des lignes avec les calculs de tableaux et Utiliser un tableau de tableaux croisés dynamiques dans les calculs de tableaux.
if if(yesno_expression,
value_if_yes,
value_if_no)
Si yesno_expression renvoie Yes, la valeur value_if_yes est renvoyée. Sinon, elle renvoie la valeur value_if_no.

Pour obtenir un exemple, consultez l'article Communauté Regrouper par dimension dans les calculs de tableaux.
is_null is_null(value) Renvoie Yes si la valeur de value est null, et No dans le cas contraire.

Pour consulter un exemple, reportez-vous à la page de documentation Créer des expressions Looker. Pour obtenir un autre exemple utilisant is_null avec l'opérateur NOT, consultez la page de documentation Utiliser des calculs de tables.

Opérateurs utilisés dans n'importe quelle expression Looker

Les opérateurs de comparaison suivants peuvent être utilisés avec n'importe quels types de données :

Opérateur Syntaxe Objectif
= value_1 = value_2 Renvoie Yes si la valeur de value_1 est égale à value_2 et No dans le cas contraire.
!= value_1 != value_2 Renvoie Yes si la valeur de value_1 est différente de value_2, et No dans le cas contraire.

Les opérateurs de comparaison suivants peuvent être utilisés avec des nombres, des dates et des chaînes:

Opérateur Syntaxe Objectif
> value_1 > value_2 Renvoie Yes si la valeur de value_1 est supérieure à value_2, et No dans le cas contraire.
< value_1 < value_2 Renvoie Yes si la valeur de value_1 est inférieure à value_2 et No dans le cas contraire.
>= value_1 >= value_2 Renvoie Yes si la valeur de value_1 est supérieure ou égale à value_2, et No dans le cas contraire.
<= value_1 <= value_2 Renvoie Yes si value_1 est inférieur ou égal à value_2, et No dans le cas contraire.

Vous pouvez également combiner des expressions Looker avec les opérateurs logiques suivants :

Opérateur Syntaxe Objectif
AND value_1 AND value_2 Renvoie Yes si value_1 et value_2 sont tous les deux Yes, et No dans le cas contraire.
OR value_1 OR value_2 Renvoie Yes si la valeur de value_1 ou value_2 est Yes, et No dans le cas contraire.
NOT NOT value Renvoie Yes si la valeur de value est No et No dans le cas contraire.

Ces opérateurs logiques doivent être écrits en majuscules. Ceux écrits en minuscules ne fonctionneront pas.

Constantes logiques

Vous pouvez utiliser des constantes logiques dans les expressions Looker. Elles sont toujours écrites en minuscules et leurs significations sont les suivantes :

Constante Signification
yes Vrai
no False
null Aucune valeur

Notez que les constantes yes et no sont les symboles spéciaux qui signifient "true" ou "false" dans les expressions Looker. En revanche, l'utilisation de guillemets tels que "yes" et "no" crée des chaînes littérales avec ces valeurs.

Les expressions logiques renvoient la valeur "true" ou "false" sans avoir besoin de la fonction if. Par exemple, cette expression :

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

équivaut à l'expression :

${field} > 100

Vous pouvez également utiliser null pour indiquer qu'aucune valeur n'est indiquée. Par exemple, lorsque vous souhaitez indiquer qu'un champ est vide ou assigner une valeur vide dans une situation donnée. Cette formule ne renvoie aucune valeur si le champ affiche une valeur inférieure à 1 ou la valeur du champ si elle est supérieure à 1 :

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

Combiner les opérateurs AND et OR

Les opérateurs AND sont évalués avant les opérateurs OR si vous ne spécifiez pas l'ordre entre parenthèses. C'est la raison pour laquelle l'expression suivante sans parenthèses supplémentaires

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

sera évaluée comme suit :

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

Fonctions positionnelles

Lors de la création de calculs de table, vous pouvez utiliser des fonctions de transformation positionnelle pour extraire des informations concernant les champs figurant dans les différentes lignes ou colonnes d'un tableau croisé dynamique. Vous pouvez aussi créer des listes et extraire une ligne en cours ou l'index des colonnes d'un tableau croisé dynamique.

Nombre total de colonnes et de lignes uniquement utilisées pour réaliser des calculs de table

Si la section Explorer contient des totaux, vous pouvez référencer des valeurs totales pour les colonnes et les lignes:

Fonction Syntaxe Objectif
:total ${field:total} Renvoie le total de la colonne du champ
:row_total ${field:row_total} Renvoie le total de ligne du champ

Certaines de ces fonctions utilisent les positions relatives des lignes. Donc, si vous changez l'ordre de tri des lignes, les résultats de ces fonctions seront alors modifiés.

Fonction Syntaxe Objectif
index index(expression, n) Renvoie la valeur du ne élément de la colonne créée par expression, sauf si expression définit une colonne de listes, auquel cas le ne élément de chaque liste est renvoyé.
list list(value_1, value_2, ...) Crée une liste à partir de valeurs données.

Pour voir un exemple, consultez l'article de la communauté Utiliser des listes dans les calculs de tables.
lookup lookup(value, lookup_column,
result_column)
Renvoie la valeur dans result_column qui se trouve sur la même ligne que value se trouve dans lookup_column.
offset offset(column, row_offset) Renvoie la valeur de la ligne (n + row_offset) dans column, où n correspond au numéro de la ligne actuelle.

Pour des exemples d'utilisation de offset, consultez la page Calculer un pourcentage de la variation précédente et en pourcentage à l'aide des calculs de tables.
offset_list offset_list(column, row_offset,
num_values)
Renvoie une liste des valeurs num_values à partir de la ligne (n + row_offset) dans column, où n correspond au numéro de ligne actuel.

Pour un exemple, consultez l'article Calculer des moyennes mobiles de la communauté.
row row() Renvoie le numéro de la ligne actuelle.

Certaines de ces fonctions utilisent les positions relatives des colonnes d'un tableau croisé dynamique. Donc, si vous changez l'ordre de tri d'une dimension dynamique, les résultats de ces fonctions seront alors modifiés.

Fonction Syntaxe Objectif
pivot_column pivot_column() Renvoie l'index de la colonne du tableau croisé dynamique en cours.
pivot_index pivot_index(expression, pivot_index) Évalue expression dans le contexte de la colonne de tableaux croisés dynamiques à la position pivot_index (1 pour le premier tableau croisé dynamique, 2 secondes pour le tableau croisé dynamique, etc.). Renvoie la valeur null dans le cas de résultats non dynamiques.

Pour obtenir des exemples d'utilisation de pivot_index, consultez les articles Utiliser un tableau croisé dynamique dans les calculs de tableaux et Créer un pourcentage du total pour les lignes avec les calculs de tableaux.
pivot_offset pivot_offset(pivot_expression, col_offset) Renvoie la valeur de pivot_expression à la position (n + col_offset), où n est la position actuelle de la colonne de tableau croisé dynamique. Renvoie la valeur null dans le cas de résultats non dynamiques.

Pour obtenir des exemples, consultez les posts de la communauté Créer un total cumulé sur les lignes avec les calculs de tableaux et les bonnes pratiques Calculer le pourcentage de la variation précédente et en pourcentage à l'aide des calculs de tables.pivot_offset
pivot_offset_list pivot_offset_list(pivot_expression,
col_offset, num_values)
Renvoie une liste des valeurs num_values dans pivot_expression à partir de la position (n + col_offset), où n est l'index de tableau croisé dynamique actuel. Renvoie null pour les résultats non croisés.
pivot_row pivot_row(expression) Renvoie les valeurs croisées dynamiquement de expression sous forme de liste. Renvoie null pour les résultats non croisés.

Pour des exemples d'utilisation de pivot_row, consultez les pages Agréger des lignes (totaux des lignes) dans les calculs de tables et Comment calculer le pourcentage du total.
pivot_where pivot_where(select_expression, expression) Renvoie la valeur de expression pour la colonne de tableau croisé dynamique qui satisfait de manière unique select_expression ou null si une colonne unique n'existe pas.

Les fonctions de tableau croisé dynamique spécifiques que vous utilisez déterminent si le calcul de table s'affichera en regard de chaque colonne dynamique ou en tant que colonne unique à la fin de la table.

Fonctions de filtrage pour des filtres et champs personnalisés

Les fonctions de filtrage vous permettent d'utiliser des expressions de filtre pour renvoyer des valeurs basées sur des données filtrées. Les fonctions de filtrage fonctionnent avec les filtres personnalisés, les filtres basés sur des mesures personnalisées et les dimensions personnalisées, mais ne sont pas valides dans les calculs de tableau.

Fonction Syntaxe Objectif
matches_filter matches_filter(field, `filter_expression`) Renvoie Yes si la valeur du champ correspond à l'expression de filtre, No dans le cas contraire.