Liquid-Fehler beheben

In diesem Leitfaden erfahren Sie, wie Sie Liquid-Fehler in Ihrem LookML beheben.

Debugging-Baum

Verwenden Sie das folgende Flussdiagramm, um häufige Liquid-Probleme zu beheben:

In den folgenden Abschnitten werden die Szenarien im Baum genauer beschrieben.

Fehler: Variable nicht gefunden

Prüfen, ob das Feld im Explore verfügbar ist

Dieser Fehler kann auftreten, wenn Sie auf ein Feld verweisen, auf das im Explore nicht zugegriffen werden kann.

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-Parsing-Ausnahme

Dieser Fehler kann beim Validieren von LookML in der IDE oder beim Ausführen 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 %}

Verwenden Sie „==“ für den Vergleich.

Verwenden Sie nicht ein 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 herum oder Tagsyntax um einen einzelnen Wert herum. Der folgende Code würde einen Fehler auslösen:

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

Geben Sie stattdessen die Syntax zum Einfügen einzelner Werte aus und verwenden Sie die Tag-Syntax für logische Vergleiche und Vorgänge.

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

Liquid-Tags nicht verschachteln

Verwenden Sie keine Liquid-Tags innerhalb anderer 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 die LookML in der Regel ohne Fehler validiert, aber beim Ausführen einer Abfrage für ein Explore werden unerwartete Ergebnisse angezeigt.

yesno-Werte großschreiben

Wenn Sie Liquid verwenden, um den Wert eines yesno-Felds zu prüfen, achten Sie auf Werte, die nicht großgeschrieben sind. Der folgende Code würde keine Ergebnisse für die Bedingung yes liefern:

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

Schreiben Sie stattdessen die Werte „Yes“ und „No“ 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, der diesen Liquid-Parameter nicht unterstützt, auf einen Liquid-Parameter verweisen, wird der Liquid-Parameter von Looker ignoriert.

Der folgende Code würde beispielsweise nichts zurückgeben, da die parameter parameter_name-Syntax 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önnten Sie den Code so umschreiben:

html: {{ parameter_name._parameter_value }};;