Les expressions Looker sont des formules que vous utilisez pour effectuer des calculs personnalisés et appliquer une logique avancée dans Looker. Utilisez les expressions Looker pour créer des calculs de table dynamiques, des champs personnalisés, des filtres personnalisés et des tests de données. Cette fonctionnalité vous permet d'extraire des insights spécifiques et de personnaliser votre analyse de données. Ce guide explique comment créer et utiliser efficacement des expressions Looker.
Raccourcis pour les fonctions courantes
Avant de créer des expressions Looker, vérifiez si votre tâche peut être effectuée à l'aide de raccourcis intégrés :
- Calculs de table : si votre administrateur vous a accordé les autorisations nécessaires pour créer des calculs de table, vous pouvez utiliser les calculs de raccourcis pour effectuer rapidement des calculs courants sur les champs numériques dans le tableau de données d'une exploration.
- Champs personnalisés : si votre administrateur vous a accordé les
autorisations
nécessaires pour créer des champs personnalisés, vous pouvez utiliser les éléments suivants :
- Des groupes personnalisés pour regrouper
des valeurs sous des libellés personnalisés sans avoir à développer une logique
CASE WHENdanssqlparamètres outype: casechamps. - Des bins personnalisés pour regrouper
des dimensions de type numérique dans des niveaux personnalisés sans avoir à développer
type: tierchamps LookML.
- Des groupes personnalisés pour regrouper
des valeurs sous des libellés personnalisés sans avoir à développer une logique
Expressions Looker
Les expressions Looker servent à effectuer des calculs dans les contextes suivants :
Une expression Looker est créée à partir d'une combinaison de ces éléments :
NULL: la valeurNULLindique qu'il n'y a pas de données. Elle peut être utile lorsque vous souhaitez vérifier qu'un élément est vide ou n'existe pas.Une constante : une constante est une valeur immuable que vous fournissez. Un nombre tel que
7ou une chaîne telle queCompletedsont des constantes.Un champ Looker : une référence à un champ Looker , qui inclut des dimensions, des mesures et des calculs de table.
Un opérateur Looker : pour obtenir la liste des opérateurs disponibles, consultez Fonctions et opérateurs Looker. Les opérateurs compatibles incluent les catégories suivantes :
- Opérateurs mathématiques (tels que
+,-,*, et/) - Opérateurs de comparaison (tels que
=,>, et<=) - Opérateurs logiques (tels que
AND,ORetNOT)
- Opérateurs mathématiques (tels que
Une fonction Looker : semblables aux fonctions de feuille de calcul, les fonctions vous permettent de transformer vos données ou de faire référence à des données de manière complexe. Pour obtenir la liste des fonctions disponibles, consultez Fonctions et opérateurs Looker.
Créer des expressions Looker
Les calculs de table, les champs personnalisés, et les filtres personnalisés utilisent l' éditeur d'expressions Looker. Lorsque vous saisissez votre expression, Looker vous propose des fonctions, des opérateurs et des noms de champs que vous pouvez utiliser.
Afficher toutes les suggestions
Accédez à l'éditeur d'expressions Looker dans une exploration en créant un calcul de table, champ personnalisé, ou filtre personnalisé.
Saisissez un espace pour afficher la liste de tous les champs, fonctions et opérateurs que vous pouvez choisir. Si un champ est actuellement sélectionné dans l'exploration, Looker affiche un point noir à gauche du champ et le champ en haut de la liste.
Commencez à saisir du texte dans l'éditeur d'expressions Looker pour réduire la liste aux éléments qui vous intéressent.
L'éditeur de champs personnalisés affiche les champs d'exploration actuellement utilisés, s'ils sont compatibles avec la fonction du champ personnalisé.
Ajouter un champ
Pour inclure un champ Looker dans votre expression, commencez à saisir le nom du champ. Au fur et à mesure de votre saisie, l'éditeur réduit votre recherche à une liste de champs et de fonctions contenant ce que vous avez saisi. Vous pouvez saisir le nom du champ tel qu'il apparaît sur la page "Exploration" ou utiliser son nom LookML si vous le connaissez.
Lorsque vous sélectionnez un champ dans la liste, Looker l'ajoute à votre expression en utilisant le nom LookML au format ${view_name.field_name}. Cela garantit que tous vos champs ont des noms uniques dans votre expression.
Ajouter des totaux
Si vous créez une expression basée sur une exploration dans laquelle vous
avez affiché des totaux,
vous pouvez également inclure des totaux de colonnes et de lignes dans votre expression. Les totaux des colonnes apparaissent dans l'éditeur avec le mot Total devant l'itération LookML du nom du champ. Par exemple, pour un champ nommé Count,
Looker attribue au total de la colonne de ce champ le nom
Count - Total.
Le nom LookML des totaux se présente sous la forme ${view_name.field_name:total},
où :total est ajouté à la fin du nom du champ.
Pour les totaux des lignes, les mots Row Totals (Totaux des lignes) apparaissent devant le nom du champ dans l'éditeur. Dans le nom LookML du champ, :row_total est ajouté à la fin
du nom du champ, par exemple ${view_name.field_name:row_total}.
Ajouter des opérateurs
Si nécessaire, vous pouvez ajouter des opérateurs logiques tels que AND, OR et NOT à votre expression. En règle générale, les opérateurs AND sont évalués avant les opérateurs OR, mais vous pouvez remplacer ce comportement à l'aide de parenthèses. Vous pouvez également utiliser
des opérateurs de comparaison (tels que >, = et <=) et des opérateurs mathématiques
(tels que + et *).
Lorsque vous maintenez le pointeur sur un opérateur, des notes d'utilisation appropriée s'affichent dans le volet d'informations.
Ajouter des fonctions
Pour inclure une fonction Looker dans votre expression, commencez à saisir le nom de la fonction. Au fur et à mesure de votre saisie, l'éditeur réduit votre recherche à une liste de champs et de fonctions contenant ce que vous avez saisi.
Les fonctions peuvent être construites à partir d'arguments (ou de variables) qui nécessitent un certain type, tel qu'un champ, un nombre ou une réponse "oui/non". Lorsque vous maintenez le pointeur sur une fonction, consultez les notes du volet d'informations pour comprendre les arguments que vous devez fournir et leur type.
Pour obtenir la liste complète des fonctions, consultez Fonctions et opérateurs Looker.
Utiliser les conseils d'erreur et le volet d'informations
Looker affiche un volet d'informations à côté de l'éditeur d'expressions Looker. Ce volet fournit de la documentation et des suggestions, en particulier si votre expression contient une erreur.
Le volet d'informations fournit les informations suivantes :
Mise en surbrillance des erreurs : Looker souligne en rouge toutes les parties de l'expression qui ne sont pas encore correctes.
Suggestions et détails sur les erreurs : Looker vous suggère ce que vous pouvez ajouter ensuite dans votre expression. En cas d'erreur, il explique pourquoi elle se produit.
Documentation : Looker affiche la documentation sur la fonction ou l'opérateur que vous utilisez. Par exemple, lorsque vous saisissez le premier argument d'une fonction
if, Looker indique que le premier argument doit être évalué commeyesouno. Cliquez sur le nom de la fonction pour afficher sa documentation.
Inclure des commentaires
Vous pouvez inclure des commentaires dans les expressions Looker en commençant la ligne de commentaire par # dans l'éditeur d'expressions.
Utiliser des champs
Parfois, vous souhaitez utiliser la valeur d'un champ (une dimension, une mesure ou un calcul de table) dans une expression. Vous pouvez ajouter la valeur du champ à un autre élément, vérifier qu'elle a une certaine valeur ou l'inclure dans une fonction.
Comme décrit dans Ajouter un champ, vous pouvez saisir le nom du champ
dans l'éditeur d'expressions, et Looker vous aide à trouver le format de référence
approprié. Lorsque vous ajoutez un champ à une expression, Looker utilise l'identifiant LookML du champ, tel que ${view_name.field_name}. Saisissez le nom du champ tel qu'il apparaît dans le sélecteur de champs. L'éditeur d'expressions affiche le nom du sélecteur de champs à côté de l'identifiant LookML.
Il existe plusieurs façons de récupérer une valeur :
Obtenir une valeur à partir de la même ligne : la façon la plus simple d'utiliser un champ consiste à y faire référence directement, par exemple
${product.category}. Cela fait référence à la valeur de ce champ dans la ligne actuelle.Obtenir une valeur à partir d'une autre ligne : vous pouvez également récupérer la valeur d'un champ à partir d'une autre ligne. Par exemple, pour obtenir la catégorie de produit de la ligne précédente, utilisez une fonction de décalage telle que
offset(${product.category}, -1). Pour obtenir la liste des fonctions positionnelles, consultez Fonctions positionnelles.Obtenir une valeur à partir d'une colonne croisée : pour obtenir des valeurs à partir de colonnes croisées, utilisez des fonctions croisées telles que
pivot_index(${order.total_sales}, 1). Pour obtenir la liste des fonctions croisées, consultez Fonctions croisées.Obtenir un total à partir d'une ligne ou d'une colonne : si vous avez affiché des totaux dans votre exploration, vous pouvez obtenir des valeurs totales en ajoutant
:total(pour les totaux des colonnes) ou:row_total(pour les totaux des lignes) au nom du champ, au format${field_name:total}. Exemple :${orders.count} / ${orders.count:total}.
Utiliser des opérateurs
Les expressions Looker peuvent inclure des opérateurs logiques, de comparaison et mathématiques pour créer différentes conditions :
- Opérateurs logiques (tels que
AND,ORetNOT) - Opérateurs de comparaison (tels que
>et<) - Opérateurs mathématiques (tels que
+et-)
Sauf indication contraire avec des parenthèses, la logique AND est évaluée avant la logique OR. 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")
est é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")
Dans Looker, utilisez yes et no au lieu de true et false.
Ces constantes logiques ne sont pas identiques aux chaînes littérales "yes"
et "no". Pour en savoir plus, consultez
Constantes logiques.
Utiliser des fonctions
Les expressions Looker incluent souvent une ou plusieurs fonctions pour récupérer ou calculer des données. Elles sont semblables aux fonctions de feuille de calcul.
Les fonctions se présentent sous la forme d'un nom suivi de parenthèses, par exemple my_function(). Les valeurs transmises entre parenthèses sont des arguments, comme my_function(argument_1, argument_2).
Par exemple, la now
fonction ne prend aucun argument et renvoie la date et l'heure actuelles : now().
La round fonction
prend un argument numérique : round(3.2). Le résultat est 3.
Pour savoir quels arguments fournir :
- Le volet d'informations situé à côté de l'éditeur d'expressions fournit la documentation de la fonction active.
- Pour obtenir la liste complète des fonctions, consultez Fonctions et opérateurs Looker.
Prenons l'exemple de la contains
fonction :
| Fonction | Syntaxe | Objectif |
|---|---|---|
| contains {:#function-contains} | contains(string, search_string) |
Renvoie Yes si string contient search_string, et No dans le cas contraire. |
La fonction contains nécessite deux arguments : string et search_string.
L'argument string représente le champ ou le texte dans lequel effectuer la recherche, et search_string
représente le terme à rechercher :
contains(${customer.feedback_text}, "great")
Si "great" apparaît dans les commentaires des clients, la fonction renvoie Yes.
Sinon, elle renvoie No.
Vous pouvez imbriquer des fonctions à l'intérieur d'autres fonctions :
contains(
if(
is_null(${customer.feedback_text}),
${customer.comment_text},
${customer.feedback_text}
),
"great")
Cette expression est évaluée en trois étapes :
- La fonction
is_nullvérifie si le texte des commentaires des clients est vide. - La fonction
ifrenvoie le texte des commentaires s'il est présent ; sinon, elle renvoie le texte du commentaire. - La fonction
containsrecherche le mot "great" dans le texte renvoyé.
Logiquement, cette expression signifie : "S'il y a des commentaires de clients, effectuez une recherche dans ce texte. Sinon, effectuez une recherche dans les commentaires des clients. Dans les deux cas, recherchez le mot 'great'."