In diesem Leitfaden erfahren Sie, wie Sie Liquid-Fehler in Ihrem LookML-Code beheben.
Debugging-Baum
Verwenden Sie den folgenden Entscheidungsbaum, um häufige Liquid-Probleme zu beheben:
In den folgenden Abschnitten werden die Szenarien im Baum näher beschrieben.
Fehler: Variable nicht gefunden
Prüfen, ob das Feld im Explore zugänglich ist
Dieser Fehler kann auftreten, wenn Sie auf ein Feld verweisen, das im Explore nicht zugänglich ist.
Prüfen Sie zuerst, ob der Feldname Tippfehler enthält. Prüfen Sie dann, ob die Ansicht, in der das Feld definiert ist, mit dem Explore verknüpft ist.
Fehler: Liquid-Analysefehler
Dieser Fehler kann bei der Validierung von LookML in der IDE oder bei der Ausführung einer Abfrage auftreten. In den folgenden Abschnitten werden häufige Ursachen für diesen Fehler beschrieben.
Einfache oder doppelte Anführungszeichen schließen
Prüfen Sie, ob einfache oder doppelte Anführungszeichen geöffnet, aber nicht geschlossen wurden. Der folgende Code würde beispielsweise einen Fehler auslösen:
{% if value == "Shirt %}
This is a shirt.
{% endif %}
Schließen Sie die Anführungszeichen, um den Fehler zu beheben.
{% if value == "Shirt" %}
This is a shirt.
{% endif %}
Für den Vergleich doppeltes Gleichheitszeichen verwenden
Verwenden Sie kein einzelnes Gleichheitszeichen, wenn Sie prüfen, ob ein Wert gleich einem anderen Wert ist. Der folgende Code würde einen Fehler auslösen:
{% if value = "Shirt" %}
This is a shirt.
{% endif %}
Verwenden Sie stattdessen zwei Gleichheitszeichen, um den Fehler zu beheben.
{% if value == "Shirt" %}
This is a shirt.
{% endif %}
Korrekte Tag-Syntax verwenden
Verwenden Sie keine Ausgabesyntax um eine if-Anweisung oder Tag-Syntax um einen einzelnen Wert. Der folgende Code würde einen Fehler auslösen:
{{ if value == "Shirt" }}
This is a {% value %}.
{{ endif }}
Verwenden Sie stattdessen die Ausgabesyntax, um einzelne Werte einzufügen, und die Tag-Syntax, um logische Vergleiche und Vorgänge auszuführen.
{% if value == "Shirt" %}
This is a {{ value }}.
{% endif %}
Liquid-Tags nicht verschachteln
Verwenden Sie keine Liquid-Tags in anderen Liquid-Tags. Der folgende Code würde beispielsweise einen Fehler auslösen:
{% if value > {{ view_name.field_name._value }} %}
This value is larger.
{% endif %}
Entfernen Sie die verschachtelten Tags, um den Fehler zu beheben:
{% if value > view_name.field_name._value %}
This value is larger.
{% endif %}
Liquid zeigt den falschen Wert an
In diesen Fällen wird der LookML-Code in der Regel ohne Fehler validiert, aber bei der Ausführung einer Abfrage für ein Explore werden unerwartete Ergebnisse angezeigt.
„Ja/Nein“-Werte großschreiben
Wenn Sie Liquid verwenden, um den Wert eines yesno-Felds zu prüfen, suchen Sie nach Werten, die nicht großgeschrieben sind. Der folgende Code würde keine Ergebnisse für die yes-Bedingung liefern:
{% if value == "yes" %}
This is a shirt or shoes.
{% endif %};;
Schreiben Sie stattdessen die Werte „Ja“ und „Nein“ groß.
{% if value == "Yes" %}
This is a shirt or shoes.
{% endif %};;
Prüfen, ob der Liquid-Parameter unterstützt wird
Wenn Sie in einem LookML-Parameter auf einen Liquid-Parameter verweisen, der diesen Liquid-Parameter nicht unterstützt, wird der Liquid-Parameter von Looker ignoriert.
Der folgende Code würde beispielsweise nichts zurückgeben, da die Syntax parameter parameter_name für den LookML-Parameter html nicht unterstützt wird.
html: {% parameter parameter_name %};;
In der Referenz zu Liquid-Variablen finden Sie Informationen dazu, welche Liquid-Parameter in welchen LookML-Parametern unterstützt werden. In diesem Beispiel können Sie den Code so umschreiben:
html: {{ parameter_name._parameter_value }};;