Résoudre les erreurs Liquid

Ce guide vous aide à résoudre les erreurs Liquid dans votre LookML.

Arborescence de débogage

Utilisez l'arbre de décision suivant pour résoudre les problèmes courants liés à Liquid :

Les sections suivantes décrivent plus en détail les scénarios de l'arborescence.

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 Explorer.

Commencez par vérifier que le nom de votre champ ne contient pas de faute de frappe. Vérifiez ensuite que la vue dans laquelle le champ est défini est associée à 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.

Fermer les guillemets simples ou doubles

Vérifiez si des guillemets simples ou doubles sont ouverts, mais pas fermés. Par exemple, le code suivant générerait 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 %}

Utiliser le double signe égal (==) pour la comparaison

N'utilisez pas un seul signe = pour vérifier si une valeur est égale à une autre. Le code suivant générerait une erreur :

{% if value = "Shirt" %}
  This is a shirt.
{% endif %}

Pour résoudre l'erreur, utilisez plutôt deux signes ==.

{% if value == "Shirt" %}
  This is a shirt.
{% endif %}

Utiliser la syntaxe de balise appropriée

N'utilisez pas de syntaxe de sortie autour d'une instruction if ni de syntaxe de balise autour d'une valeur unique. Le code suivant générerait 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érerait 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 %}

La valeur Liquid est incorrecte

Dans ces cas, le code LookML est généralement validé sans erreur, mais vous obtenez des résultats inattendus lorsque vous exécutez une requête sur une exploration.

Mettre en majuscule les valeurs "oui/non"

Si vous utilisez Liquid pour vérifier la valeur d'un champ yesno, recherchez les valeurs non mises en majuscules. 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 majuscules les valeurs "Oui" et "Non".

{% if value == "Yes" %}
  This is a shirt or shoes.
{% endif %};;

Vérifier si le paramètre Liquid est compatible

Si vous faites référence à un paramètre Liquid dans un paramètre LookML qui ne le prend pas en charge, Looker l'ignore.

Par exemple, le code suivant ne renverra 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 savoir 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 }};;