Looker-Ausdrücke erstellen

Looker-Ausdrücke

Looker-Ausdrücke (manchmal auch als Lexp bezeichnet) werden verwendet, um Berechnungen für folgende Elemente durchzuführen:

Ein Looker-Ausdruck wird aus einer Kombination der folgenden Elemente erstellt:

  • NULL:Der Wert NULL gibt an, dass keine Daten vorhanden sind. Er kann nützlich sein, wenn Sie überprüfen möchten, ob etwas leer oder nicht vorhanden ist.

  • Eine Konstante:Eine Konstante ist ein sich nicht ändernder Wert, den Sie angeben. Zahlen wie 7 oder ein String wie Completed sind Konstanten.

  • Ein Looker-Feld:Ein Verweis auf ein Looker-Feld, das Dimensionen, Messwerte und Tabellenkalkulationen enthält.

  • Looker-Operator:Es gibt verschiedene Arten von Operatoren, die auf der Dokumentationsseite Looker-Funktionen und -Operatoren aufgeführt sind:

    • Mathematische Operatoren (z. B. +, -, * und /)
    • Vergleichsoperatoren (z. B. =, > und <=)
    • Logische Operatoren (z. B. AND, OR und NOT)
  • Looker-Funktion:Diese Funktionen ähneln Excel-Funktionen. Mit Funktionen können Sie Ihre Daten auf komplexe Weise transformieren oder auf Daten verweisen. Alle verfügbaren Funktionen sind auf der Dokumentationsseite Looker-Funktionen und -Operatoren aufgeführt.

Looker-Ausdrücke erstellen

Für Tabellenberechnungen, benutzerdefinierte Felder und benutzerdefinierte Filter wird der Looker-Ausdruckseditor verwendet. Während Sie Ihren Ausdruck eingeben, werden Sie von Looker zu Funktionen, Operatoren und Feldnamen aufgefordert, die Sie möglicherweise verwenden möchten.

Alle Vorschläge werden angezeigt

Sie können in einem Explore auf den Looker-Ausdruckseditor zugreifen, indem Sie Tabellenkalkulationen, ein benutzerdefiniertes Feld oder einen benutzerdefinierten Filter erstellen.

Geben Sie ein Leerzeichen ein, um eine Liste mit allen Feldern, Funktionen und Operatoren aufzurufen, aus denen Sie auswählen können. Wenn derzeit ein Feld im Explore ausgewählt ist, zeigt Looker einen schwarzen Punkt links neben dem Feld sowie das Feld oben in der Liste an.

Beginnen Sie mit der Eingabe im Looker-Ausdruckseditor, um die Liste so zu kürzen, dass sie für Sie von Interesse ist.

Im Editor für benutzerdefinierte Felder werden derzeit verwendete Explore-Felder angezeigt, sofern sie mit der Funktion des benutzerdefinierten Feldes kompatibel sind.

Feld hinzufügen

Geben Sie die ersten Buchstaben des Feldnamens ein, um ein Looker-Feld in den Ausdruck aufzunehmen. Während der Eingabe schränkt der Editor die Suche auf eine Liste der Felder und Funktionen ein, die Ihre Eingabe enthalten. Sie können den Namen des Felds so eingeben, wie er auf der Explore-Seite angezeigt wird, oder Sie können den LookML-Namen verwenden, wenn Sie ihn kennen.

Wenn Sie ein Feld aus der Liste auswählen, fügt Looker es Ihrem Ausdruck mithilfe des LookML-Namens im Format ${view_name.field_name} hinzu. Dadurch wird sichergestellt, dass alle Felder in Ihrem Ausdruck eindeutige Namen haben.

Summen addieren

Wenn Sie einen Ausdruck erstellen, der auf einem Explore basiert, in dem Sie Gesamtsummen angezeigt haben, können Sie auch Gesamtsummen für Spalten und Zeilen in den Ausdruck aufnehmen. Spaltensummen werden im Editor mit dem Wort Gesamt vor der LookML-Iteration des Feldnamens angezeigt. Für ein Feld namens Anzahl gibt Looker beispielsweise der Spaltensumme für dieses Feld den Namen Count - Total.

Der LookML-Name für Summen hat das Format ${view_name.field_name:total}, wobei :total am Ende des Feldnamens hinzugefügt wird.

Bei Zeilensummen wird im Editor das Wort Zeilensummen vor dem Feldnamen angezeigt. Im Feld LookML-Name des Felds wird :row_total an das Ende des Feldnamens angehängt, z. B. ${view_name.field_name:row_total}.

Operatoren hinzufügen

Sie können Ihrem Ausdruck bei Bedarf logische Operatoren wie AND, OR und NOT hinzufügen. Normalerweise werden AND-Operatoren vor OR-Operatoren ausgewertet. Sie können dieses Verhalten jedoch durch Verwendung von Klammern überschreiben. Sie können auch Vergleichsoperatoren (z. B. >, = und <=) und mathematische Operatoren (z. B. + und *) verwenden.

Wenn Sie den Mauszeiger auf einen Operator bewegen, werden im Informationsbereich Hinweise zur ordnungsgemäßen Verwendung angezeigt.

Funktionen hinzufügen

Geben Sie den Namen der Funktion ein, um eine Looker-Funktion in den Ausdruck aufzunehmen. Während der Eingabe schränkt der Editor die Suche auf eine Liste der Felder und Funktionen ein, die Ihre Eingabe enthalten.

Funktionen können aus Argumenten (oder Variablen) bestehen, die einen bestimmten Typ erfordern, z. B. ein Feld, eine Zahl oder Ja/Nein. Wenn Sie den Mauszeiger auf eine Funktion bewegen, sehen Sie die Hinweise neben Ihrem Ausdruck im Informationsbereich, um zu erfahren, welche Argumente Sie angeben müssen und welchen Typ sie haben müssen.

Eine vollständige Liste der Funktionen, die Looker anbietet, finden Sie auf der Dokumentationsseite Funktionen und Operatoren von Looker.

Fehlerhinweise und den Informationsbereich verwenden

In Looker wird neben dem Looker-Ausdruckseditor ein Informationsbereich angezeigt. Dieser Bereich enthält Dokumentation und Vorschläge, insbesondere wenn Ihr Ausdruck einen Fehler enthält.

Der Informationsbereich neben dem Ausdruckseditor enthält die folgenden Informationen:

  • Fehlerhervorhebung:Looker unterstreicht alle Teile des Ausdrucks, die noch nicht korrekt sind, rot.

  • Details zu Vorschlägen und Fehlern:Looker macht Vorschläge dazu, was Sie dem Ausdruck als Nächstes hinzufügen können. Wenn ein Fehler vorliegt, wird er erklärt, warum er aufgetreten ist. Wenn mehrere Fehler vorhanden sind, basiert der Fehler, der Ihnen angezeigt wird, auf der Position Ihres Cursors.

  • Dokumentation:In Looker wird basierend auf der Cursorposition eine Dokumentation zur Funktion oder zum Operator angezeigt, mit dem Sie arbeiten. Wenn Sie beispielsweise das erste Argument einer if()-Funktion eingeben, liefert Looker die Informationen, die das erste Argument als „true“ oder „false“ bewerten soll. Sie können auf den Funktionsnamen klicken, um die Dokumentation für diese Funktion aufzurufen.

Enthält Kommentare

Sie können Kommentare in Looker-Ausdrücke einschließen. Beginnen Sie dazu die Kommentarzeile im Ausdruckseditor mit #.

Felder verwenden

Manchmal werden Sie den Wert eines Feldes (eine Dimension, einen Messwert oder eine Tabellenkalkulation) in einem Ausdruck verwenden möchten. Vielleicht möchten Sie den Wert des Felds einem anderen Element hinzufügen, überprüfen, ob es einen bestimmten Wert hat, ihn in eine Funktion aufnehmen oder viele andere Möglichkeiten haben.

Wie bereits auf dieser Seite beschrieben, können Sie den Namen des Felds in den Ausdruckseditor eingeben. Looker hilft Ihnen dann, die richtige Art des Verweises auf das Feld zu finden. Wenn Sie einem Ausdruck ein Feld hinzufügen, verwendet Looker die LookML-Kennung des Felds, die das Format ${view_name.field_name} hat. Geben Sie den Feldnamen so ein, wie er im Field Picker angezeigt wird. Der Ausdruckseditor zeigt Ihnen dann den Namen des Field Pickers und die LookML-Kennung zusammen.

Es gibt mehrere Möglichkeiten, einen Wert abzurufen:

  • Wert aus derselben Zeile abrufen:Die einfachste Methode zur Verwendung eines Feldes besteht darin, direkt darauf zu verweisen. Der Ausdruck könnte beispielsweise ${product.category} enthalten. So sagen Sie, dass Sie für jede Zeile die Produktkategorie aus dieser Zeile auswählen.

  • Wert aus einer anderen Zeile abrufen:Sie können den Wert eines Felds auch aus einer anderen Zeile abrufen. So lässt sich beispielsweise festlegen, dass für jede Zeile die Produktkategorie aus der vorherigen Zeile ausgewählt werden soll. Dazu können Sie eine Offset-Funktion verwenden (siehe Liste der Positionsfunktionen). Die Offset-Funktion könnte so aussehen: offset(${product.category}, -1).

  • Wert aus einer pivotierten Spalte abrufen:Sie können auch Werte aus pivotierten Spalten abrufen. Sie können beispielsweise mit der Logik „für eine bestimmte Zeile den Gesamtumsatz aus der ersten pivotierten Spalte erfassen“ festlegen. Wenn Sie mit pivotierten Spalten arbeiten möchten, müssen Sie Pivot-Funktionen verwenden. Weitere Informationen finden Sie in dieser Liste der Pivot-Funktionen. Die Pivot-Funktion könnte so aussehen: pivot_index(${order.total_sales}, 1).

  • Gesamtsummen aus einer Zeile oder Spalte abrufen:Wenn Sie Ihrem Explore Summen hinzugefügt haben, können Sie Summen aus der Spalte oder Zeile abrufen. Fügen Sie dazu :total (für Spaltensummen) oder :row_total (für Zeilensummen) zum Feldnamen im Format ${field_name:total} hinzu. Wenn Sie beispielsweise einen Prozentsatz der Gesamtzahl der Bestellungen für Bestellungen ermitteln möchten, können Sie eine Tabellenkalkulation wie ${orders.count} / ${orders.count:total} erstellen.

Operatoren verwenden

Looker-Ausdrücke können logische, Vergleichs- und mathematische Operatoren enthalten, um unterschiedliche Bedingungen zu erstellen:

  • Logische Operatoren (z. B. AND, OR und NOT)
  • Vergleichsoperatoren (z. B. > und <)
  • Mathematische Operatoren (z. B. + und -)

Sofern Sie nichts anderes in Klammern angeben, wird die AND-Logik vor der OR-Logik betrachtet. Der folgende Ausdruck ohne zusätzliche Klammern:

if (
  ${order_items.days_to_process}>=4 OR
  ${order_items.shipping_time}>5 AND
  ${order_facts.is_first_purchase},
"review", "okay")

wie folgt ausgewertet:

if (
  ${order_items.days_to_process}>=4 OR
  (${order_items.shipping_time}>5 AND ${order_facts.is_first_purchase}),
"review", "okay")

In Looker sollten Sie yes und no anstelle von true und false verwenden. Diese logischen Konstanten sind nicht dasselbe wie die Wörter "yes" und "no", die in Anführungszeichen stehen. Weitere Informationen finden Sie in der Beschreibung der logischen Konstanten.

Funktionen verwenden

Looker-Ausdrücke enthalten oft eine oder mehrere Funktionen, mit denen Sie bestimmte Daten abrufen oder berechnen können. Sie ähneln Excel-Funktionen.

Funktionen haben die Form eines Namens gefolgt von zwei Klammern, z. B. my_function(). Möglicherweise müssen Sie Informationen in diesen Klammern durch Kommas getrennt angeben. Diese Informationen werden als „Argumente“ bezeichnet und sehen so aus: my_function(argument_1, argument_2).

Die now-Funktion nimmt beispielsweise keine Argumente an und liefert Ihnen das aktuelle Datum und die aktuelle Uhrzeit. Sie verwenden ihn so: now().

Die Funktion round übernimmt ein Argument, bei dem es sich um eine Zahl handelt. Sie verwenden ihn so: round(3.2). Das Ergebnis ist 3.

Es gibt zwei Möglichkeiten, um herauszufinden, welche Argumente Sie angeben müssen (falls zutreffend):

  • Der Informationsbereich neben dem Ausdruckseditor enthält Informationen zu der von Ihnen geschriebenen Funktion. Sie können auf den Namen der Funktion klicken, um die zugehörige Dokumentation aufzurufen.
  • Sie können auch direkt zur Dokumentationsseite Looker-Funktionen und Operatoren gehen und die gewünschte Funktion suchen.

Die Dokumentation der Funktion contains sieht so aus:

Funktion Syntax Zweck
enthält contains(string, search_string) Gibt Yes zurück, wenn string search_string enthält. Andernfalls wird No zurückgegeben.

Wie Sie sehen, sind zwei Argumente erforderlich. Sie haben die Namen string und search_string. Das bedeutet aber nicht, dass Sie genau das Wort „String“ und „Suchstring“ in die Funktion eingeben müssen. Das sind nur Namen für die Argumente, die Sie durch etwas ersetzen. Beim Lesen des Zwecks sehen wir, dass string ein Feld oder ein anderer Wert sein sollte, indem wir suchen möchten, während search_string das ist, wonach gesucht werden soll. Hier ein Beispiel:

contains(${customer.feedback_text}, "great")

Wenn das Wort „großartig“ im Kundenfeedback erwähnt wird, gibt diese Funktion als Ergebnis Yes zurück. Andernfalls wird als Ergebnis No zurückgegeben.

Sie können Funktionen in andere Funktionen einfügen, um komplexe Logik zu verarbeiten. Solange das Ergebnis der inneren Funktion für die Argumente der äußeren Funktion geeignet ist, funktioniert es. Beispiel:

contains(
  if(
    is_null(${customer.feedback_text}),
    ${customer.comment_text},
    ${customer.feedback_text}
  ),
"great")

Die is_null-Funktion ist in einer if-Funktion verschachtelt, die sich selbst in einer contains-Funktion befindet. Das funktioniert so:

  1. Die Funktion is_null() sucht nach Text für Kundenfeedback.
  2. Als Nächstes verwendet die if()-Funktion dieses Ergebnis und gibt ggf. den Kundenfeedbacktext oder den Kommentartext auf andere Weise zurück.
  3. Schließlich verwendet die contains()-Funktion den von der if()-Funktion zurückgegebenen Text und durchsucht ihn nach dem Wort „great“.

Logisch bedeutet dieser Ausdruck: „Wenn es Kundenfeedback gibt, suchen Sie darin. Wenn nicht, suchen Sie stattdessen in den Kundenkommentaren. Suchen Sie in beiden Fällen nach dem Wort "great" ".