Ce guide vous aide à résoudre les problèmes liés à Liquid dans votre LookML.
Arborescence de débogage
Utilisez l'arborescence de décision suivante pour résoudre les problèmes courants liés à Liquid :
Les sections suivantes décrivent les scénarios de l'arborescence plus en détail.
Erreur : Variable introuvable
Vérifiez que le champ est accessible dans l'exploration
Cette erreur peut s'afficher si vous faites référence à un champ qui n'est pas accessible dans l'exploration.
Commencez par vérifier que le nom du champ ne comporte pas de faute de frappe. Ensuite, assurez-vous que la vue dans laquelle le champ est défini est jointe à l'exploration.
Erreur : Exception d'analyse Liquid
Cette erreur peut s'afficher lors de la validation de LookML dans l'IDE ou lors de l'exécution d'une requête. Les sections suivantes décrivent les causes courantes de cette erreur.
Fermez les guillemets simples ou doubles
Recherchez les guillemets simples ou doubles qui sont ouverts, mais pas fermés. Par exemple, le code suivant génère une erreur :
{% if value == "Shirt %}
This is a shirt.
{% endif %}
Pour résoudre l'erreur, fermez les guillemets.
{% if value == "Shirt" %}
This is a shirt.
{% endif %}
Utilisez le double signe égal (==) pour la comparaison
N'utilisez pas un seul signe égal (=) lorsque vous vérifiez si une valeur est égale à une autre. Le code suivant génère une erreur :
{% if value = "Shirt" %}
This is a shirt.
{% endif %}
Pour résoudre l'erreur, utilisez plutôt deux signes égal (==).
{% if value == "Shirt" %}
This is a shirt.
{% endif %}
Utilisez la syntaxe de balise correcte
N'utilisez pas de syntaxe de sortie autour d'une instruction if, ni de syntaxe de balise autour d'une seule valeur. Le code suivant génère une erreur :
{{ if value == "Shirt" }}
This is a {% value %}.
{{ endif }}
Utilisez plutôt la syntaxe de sortie pour insérer des valeurs individuelles et la syntaxe de balise pour effectuer des comparaisons et des opérations logiques.
{% if value == "Shirt" %}
This is a {{ value }}.
{% endif %}
N'imbriquez pas les balises Liquid
N'utilisez pas de balises Liquid à l'intérieur d'autres balises Liquid. Par exemple, le code suivant génère une erreur :
{% if value > {{ view_name.field_name._value }} %}
This value is larger.
{% endif %}
Pour résoudre l'erreur, supprimez les balises imbriquées :
{% if value > view_name.field_name._value %}
This value is larger.
{% endif %}
Liquid affiche la valeur incorrecte
Dans ce cas, LookML est généralement validé sans erreur, mais des résultats inattendus s'affichent lorsque vous exécutez une requête sur une exploration.
Mettez en majuscule les valeurs yesno
Si vous utilisez Liquid pour vérifier la valeur d'un champ yesno, recherchez les valeurs non mises en majuscule. Le code suivant ne correspond à aucun résultat pour la condition yes :
{% if value == "yes" %}
This is a shirt or shoes.
{% endif %};;
Mettez plutôt en majuscule les valeurs "Yes" et "No".
{% if value == "Yes" %}
This is a shirt or shoes.
{% endif %};;
Vérifiez si le paramètre Liquid est compatible
Si vous faites référence à un paramètre Liquid dans un paramètre LookML qui n'est pas compatible avec ce paramètre Liquid, Looker ignore le paramètre Liquid.
Par exemple, le code suivant ne renvoie rien, car la syntaxe parameter parameter_name n'est pas compatible avec le paramètre LookML html.
html: {% parameter parameter_name %};;
Consultez la documentation de référence sur les variables Liquid pour voir quels paramètres Liquid sont compatibles avec quels paramètres LookML. Dans cet exemple, vous pouvez réécrire le code comme suit :
html: {{ parameter_name._parameter_value }};;