En esta guía, se explica cómo solucionar problemas relacionados con errores de Liquid en tu código LookML.
Árbol de depuración
Usa el siguiente árbol de decisión para solucionar problemas comunes de Liquid:
En las siguientes secciones, se describen las situaciones del árbol con más detalle.
Error: No se encontró la variable
Comprueba que se pueda acceder al campo en la Exploración.
Este error puede aparecer si haces referencia a un campo al que no se puede acceder en Explorar.
Primero, verifica si hay errores tipográficos en el nombre del campo. Luego, asegúrate de que la vista en la que se define el campo se una al Explore.
Error: Excepción de análisis de Liquid
Este error puede aparecer cuando se valida LookML en el IDE o cuando se ejecuta una consulta. En las siguientes secciones, se describen las causas comunes de este error.
Cierra las comillas simples o dobles.
Verifica si hay comillas simples o dobles que se abrieron, pero no se cerraron. Por ejemplo, el siguiente código arrojaría un error:
{% if value == "Shirt %}
This is a shirt.
{% endif %}
Para resolver el error, cierra las comillas.
{% if value == "Shirt" %}
This is a shirt.
{% endif %}
Usa == doble para la comparación
No uses un solo signo igual (=) cuando verifiques si un valor es igual a otro. El siguiente código arrojaría un error:
{% if value = "Shirt" %}
This is a shirt.
{% endif %}
Para resolver el error, usa dos signos ==.
{% if value == "Shirt" %}
This is a shirt.
{% endif %}
Usa la sintaxis de etiquetas correcta
No uses sintaxis de salida alrededor de una instrucción if
ni sintaxis de etiquetas alrededor de un solo valor. El siguiente código arrojaría un error:
{{ if value == "Shirt" }}
This is a {% value %}.
{{ endif }}
En su lugar, genera sintaxis para insertar valores individuales y usa sintaxis de etiquetas para realizar comparaciones y operaciones lógicas.
{% if value == "Shirt" %}
This is a {{ value }}.
{% endif %}
No anides etiquetas de Liquid
No uses etiquetas de Liquid dentro de otras etiquetas de Liquid. Por ejemplo, el siguiente código arrojaría un error:
{% if value > {{ view_name.field_name._value }} %}
This value is larger.
{% endif %}
Para resolver el error, quita las etiquetas anidadas:
{% if value > view_name.field_name._value %}
This value is larger.
{% endif %}
Liquid muestra el valor incorrecto
En estos casos, el LookML suele validarse sin errores, pero verás resultados inesperados cuando ejecutes una consulta en un Explorar.
Usa mayúsculas en los valores sí/no
Si usas Liquid para verificar el valor de un campo yesno
, busca valores sin mayúsculas. El siguiente código no coincidiría con ningún resultado para la condición yes
:
{% if value == "yes" %}
This is a shirt or shoes.
{% endif %};;
En su lugar, escribe en mayúscula los valores "Sí" y "No".
{% if value == "Yes" %}
This is a shirt or shoes.
{% endif %};;
Comprueba si se admite el parámetro Liquid
Si haces referencia a un parámetro de Liquid en un parámetro de LookML que no admite ese parámetro de Liquid, Looker ignorará el parámetro de Liquid.
Por ejemplo, el siguiente código no devolvería nada, ya que la sintaxis de parameter parameter_name
no se admite para el parámetro de LookML html
.
html: {% parameter parameter_name %};;
Consulta la referencia de variables de Liquid para ver qué parámetros de Liquid se admiten en qué parámetros de LookML. En este ejemplo, podrías volver a escribir el código de la siguiente manera:
html: {{ parameter_name._parameter_value }};;