Questa guida ti aiuta a risolvere i problemi relativi agli errori di Liquid in LookML.
Albero di debug
Utilizza la seguente struttura decisionale per risolvere i problemi comuni di Liquid:
Le sezioni seguenti descrivono in modo più dettagliato gli scenari nell'albero.
Errore: variabile non trovata
Verifica che il campo sia accessibile in Esplora
Questo errore può essere visualizzato se fai riferimento a un campo non accessibile in Esplora.
Innanzitutto, controlla che non ci siano errori di battitura nel nome del campo. Poi, controlla che la visualizzazione in cui è definito il campo sia unita all'esplorazione.
Errore: eccezione di analisi di Liquid
Questo errore può essere visualizzato durante la convalida di LookML nell'IDE o durante l'esecuzione di una query. Nelle sezioni che seguono vengono descritte le cause comuni di questo errore.
Chiudi le virgolette singole o doppie
Controlla la presenza di virgolette singole o doppie aperte ma non chiuse. Ad esempio, il seguente codice genererebbe un errore:
{% if value == "Shirt %}
This is a shirt.
{% endif %}
Per risolvere l'errore, chiudi le virgolette.
{% if value == "Shirt" %}
This is a shirt.
{% endif %}
Utilizza == per il confronto
Non utilizzare un singolo segno = quando controlli se un valore è uguale a un altro valore. Il seguente codice genererebbe un errore:
{% if value = "Shirt" %}
This is a shirt.
{% endif %}
Per risolvere l'errore, utilizza due simboli ==.
{% if value == "Shirt" %}
This is a shirt.
{% endif %}
Utilizzare la sintassi corretta dei tag
Non utilizzare la sintassi di output intorno a un'istruzione if
o la sintassi dei tag intorno a un singolo valore. Il seguente codice genererebbe un errore:
{{ if value == "Shirt" }}
This is a {% value %}.
{{ endif }}
Anziché generare la sintassi per inserire singoli valori, utilizza la sintassi dei tag per eseguire confronti e operazioni logiche.
{% if value == "Shirt" %}
This is a {{ value }}.
{% endif %}
Non nidificare i tag Liquid
Non utilizzare tag Liquid all'interno di altri tag Liquid. Ad esempio, il seguente codice genererebbe un errore:
{% if value > {{ view_name.field_name._value }} %}
This value is larger.
{% endif %}
Per risolvere l'errore, rimuovi i tag nidificati:
{% if value > view_name.field_name._value %}
This value is larger.
{% endif %}
Il liquido mostra il valore errato
In questi casi, in genere la convalida di LookML non genera errori, ma quando esegui una query in un'esplorazione, visualizzi risultati imprevisti.
Capitalizzare i valori yesno
Se utilizzi Liquid per controllare il valore di un campo yesno
, verifica che i valori non siano in maiuscolo. Il seguente codice non corrisponde ad alcun risultato per la condizione yes
:
{% if value == "yes" %}
This is a shirt or shoes.
{% endif %};;
Scrivi invece "Yes" e "No" con la prima lettera maiuscola.
{% if value == "Yes" %}
This is a shirt or shoes.
{% endif %};;
Controlla se il parametro Liquid è supportato
Se fai riferimento a un parametro Liquid in un parametro LookML che non lo supporta, Looker lo ignorerà.
Ad esempio, il seguente codice non restituirebbe nulla, poiché la sintassi parameter parameter_name
non è supportata per il parametro LookML html
.
html: {% parameter parameter_name %};;
Consulta il riferimento alle variabili Liquid per vedere quali parametri Liquid sono supportati in quali parametri LookML. Per questo esempio, puoi riscrivere il codice nel seguente modo:
html: {{ parameter_name._parameter_value }};;