Esta guía te ayuda a solucionar problemas de Liquid en tu LookML.
Árbol de depuración
Sigue este esquema para solucionar problemas habituales de Liquid:
En las siguientes secciones se describen los escenarios del árbol con más detalle.
Error: Variable not found
Comprueba que se pueda acceder al campo en Explorar
Este error puede aparecer si haces referencia a un campo al que no se puede acceder en la sección Explorar.
Primero, comprueba que no haya errores ortográficos en el nombre del campo. A continuación, comprueba que la vista en la que se define el campo se haya combinado en Explorar.
Error: excepción de análisis de Liquid
Este error puede aparecer al validar LookML en el IDE o al ejecutar una consulta. En las siguientes secciones se describen las causas habituales de este error.
Cierra las comillas simples o dobles
Comprueba que todas las comillas simples o dobles que se hayan abierto se hayan cerrado. Por ejemplo, el siguiente código generarí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 == para las comparaciones
No uses un solo signo = para comprobar si un valor es igual a otro. El siguiente código generarí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 %}
Usar la sintaxis de etiqueta correcta
No utilices la sintaxis de salida en torno a una instrucción if
ni la sintaxis de etiqueta en torno a un solo valor. El siguiente código generaría un error:
{{ if value == "Shirt" }}
This is a {% value %}.
{{ endif }}
En su lugar, utilice la sintaxis de salida para insertar valores individuales y la sintaxis de etiquetas para realizar comparaciones y operaciones lógicas.
{% if value == "Shirt" %}
This is a {{ value }}.
{% endif %}
No anides etiquetas Liquid
No uses etiquetas Liquid dentro de otras etiquetas Liquid. Por ejemplo, el siguiente código generaría un error:
{% if value > {{ view_name.field_name._value }} %}
This value is larger.
{% endif %}
Para resolver el error, quite las etiquetas anidadas:
{% if value > view_name.field_name._value %}
This value is larger.
{% endif %}
Liquid muestra un valor incorrecto
En estos casos, el LookML suele validarse sin errores, pero verás resultados inesperados al ejecutar una consulta en un Explorar.
Poner en mayúsculas los valores sí/no
Si usas Liquid para comprobar el valor de un campo yesno
, busca valores que no tengan la primera letra en mayúscula. El siguiente código no coincidiría con ningún resultado de la condición yes
:
{% if value == "yes" %}
This is a shirt or shoes.
{% endif %};;
En su lugar, escribe "Yes" y "No" con la primera letra en mayúscula.
{% if value == "Yes" %}
This is a shirt or shoes.
{% endif %};;
Comprobar 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 parameter parameter_name
no se admite en 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 reescribir el código de la siguiente manera:
html: {{ parameter_name._parameter_value }};;