Looker-Ausdrücke erstellen

Looker-Ausdrücke

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

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

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

  • Konstante:Eine Konstante ist ein unveränderlicher Wert, den Sie angeben. Eine Zahl wie 7 oder ein String wie Completed sind Konstanten.

  • Looker-Feld:Verweis auf ein Looker-Feld, das Dimensionen, Messwerte und Tabellenkalkulationen umfasst.

  • Looker-Operatoren:Es gibt mehrere 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-Funktionen:Diese ähneln Excel-Funktionen. Mit Funktionen können Sie Ihre Daten oder Referenzdaten auf komplexe Weise transformieren. Alle verfügbaren Funktionen sind auf der Dokumentationsseite Looker-Funktionen und -Operatoren aufgeführt.

Looker-Ausdrücke erstellen

Für Tabellenkalkulationen, benutzerdefinierte Felder und benutzerdefinierte Filter wird der Looker-Ausdruckseditor verwendet. Während Sie Ihren Ausdruck eingeben, werden Sie von Looker nach Funktionen, Operatoren und Feldnamen gefragt, 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 aller Felder, 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 an und zeigt das Feld am Anfang der Liste an.

Beginnen Sie mit der Eingabe im Looker-Ausdruckseditor, um die Liste auf die Elemente zu kürzen, die Sie interessieren.

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

Feld hinzufügen

Beginnen Sie mit der Eingabe des Feldnamens, um ein Looker-Feld in Ihren Ausdruck aufzunehmen. Während der Eingabe grenzt der Editor Ihre Suche auf eine Liste von Feldern 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, falls Sie ihn kennen.

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

Summen hinzufügen

Wenn Sie einen Ausdruck erstellen, der auf einem Explore basiert, in dem Sie Summen angezeigt haben, können Sie auch die Summenwerte für Spalten und Zeilen in Ihren Ausdruck aufnehmen. Bei den Spaltensummen wird im Editor das Wort Total (Gesamt) vor der LookML-Iteration des Feldnamens angezeigt. Für ein Feld namens Anzahl erhält die Spaltensumme für dieses Feld beispielsweise den Namen Count - Total.

Der LookML-Name für Summen hat das Format ${view_name.field_name:total}, wobei :total an das Ende des Feldnamens angehängt wird.

Bei Zeilensummen steht das Wort Zeilensummen im Editor vor dem Feldnamen und im LookML-Namen des Felds wird :row_total am Ende des Feldnamens hinzugefügt, 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, aber Sie können dieses Verhalten überschreiben, indem Sie Klammern verwenden. 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 richtigen Verwendung angezeigt.

Funktionen hinzufügen

Beginnen Sie mit der Eingabe des Funktionsnamens, um eine Looker-Funktion in Ihren Ausdruck aufzunehmen. Während der Eingabe grenzt der Editor Ihre Suche auf eine Liste von Feldern und Funktionen ein, die Ihre Eingabe enthalten.

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

Die vollständige Liste der Funktionen von Looker finden Sie auf der Dokumentationsseite Looker-Funktionen und ‐Operatoren.

Fehlerhinweise und den Informationsbereich verwenden

Neben dem Looker-Ausdruckseditor wird ein Informationsbereich in Looker angezeigt. In diesem Bereich finden Sie die Dokumentation und Vorschläge, insbesondere wenn der Ausdruck einen Fehler enthält.

Der Informationsbereich neben dem Ausdruckseditor enthält folgende Informationen:

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

  • Vorschläge und Fehlerdetails:Looker macht Vorschläge dazu, was Ihrem Ausdruck als Nächstes hinzugefügt werden soll. Wenn ein Fehler auftritt, erläutert er, warum er auftritt. Liegen mehrere Fehler vor, basiert die Fehlermeldung auf der Position Ihres Cursors.

  • Dokumentation:Looker zeigt die Dokumentation zu der Funktion oder dem Operator, mit der Sie arbeiten, basierend auf Ihrer Cursorposition an. Während Sie beispielsweise das erste Argument einer if()-Funktion eingeben, stellt Looker die Informationen bereit, die vom ersten Argument als wahr oder falsch ausgewertet werden sollen. Sie können auf den Funktionsnamen klicken, um die Dokumentation für diese Funktion aufzurufen.

Kommentare einfügen

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

Felder verwenden

Mitunter möchten Sie den Wert eines Felds (eine Dimension, einen Messwert oder eine Tabellenkalkulation) in einem Ausdruck verwenden. Möglicherweise möchten Sie den Wert des Felds etwas anderem hinzufügen, prüfen, ob er einen bestimmten Wert hat, ihn in eine Funktion einbinden oder noch viele andere Möglichkeiten nutzen.

Wie auf dieser Seite bereits beschrieben, können Sie den Namen des Felds in den Ausdruckseditor eingeben. Looker hilft Ihnen dann dabei, die richtige Methode zum Verweisen auf das Feld zu finden. Wenn Sie einem Ausdruck ein Feld hinzufügen, verwendet Looker die LookML-ID des Felds, die so aussieht: ${view_name.field_name}. Geben Sie den Feldnamen so ein, wie er im Field Picker erscheint. Im Ausdruckseditor werden der Name des Field Pickers und die LookML-Kennung zusammen angezeigt.

Es gibt mehrere Möglichkeiten, einen Wert abzurufen:

  • Wert aus derselben Zeile abrufen:Die einfachste Möglichkeit, ein Feld zu verwenden, ist der direkte Verweis darauf. Ihr Ausdruck könnte beispielsweise ${product.category} enthalten. Damit geben Sie an, dass für eine bestimmte Zeile die Produktkategorie aus dieser Zeile übernommen wird.

  • Wert aus einer anderen Zeile abrufen:Sie können den Wert eines Felds auch aus einer anderen Zeile abrufen. Sie können beispielsweise festlegen, dass für jede Zeile die Produktkategorie aus der vorherigen Zeile übernommen wird. Dazu können Sie eine Offset-Funktion verwenden. Weitere Informationen finden Sie in dieser Liste der Positionsfunktionen. Die Offset-Funktion könnte so aussehen: offset(${product.category}, -1).

  • Wert aus einer als Drehpunkt festgelegten Spalte abrufen:Sie können auch Werte aus als Drehpunkt festgelegten Spalten abrufen. Sie können z. B. festlegen, dass für jede Zeile der Gesamtumsatz aus der ersten pivotierten Spalte erfasst wird. Wenn Sie mit Pivot-Spalten arbeiten möchten, müssen Sie Pivot-Funktionen verwenden. Weitere Informationen finden Sie in dieser Liste mit Pivot-Funktionen. Die Pivot-Funktion könnte so aussehen: pivot_index(${order.total_sales}, 1).

  • Summe aus einer Zeile oder Spalte abrufen:Wenn Sie Ihrem Explore Summen hinzugefügt haben, können Sie Gesamtwerte aus der Spalte oder Zeile erhalten, indem Sie :total (für Spaltensummen) oder :row_total (für Zeilensummen) im Format ${field_name:total} zum Feldnamen addieren. Wenn Sie beispielsweise einen Prozentsatz der Gesamtzahl von Orders-Anzahlen ermitteln möchten, können Sie eine Tabellenkalkulation wie die folgende erstellen: ${orders.count} / ${orders.count:total}.

Operatoren verwenden

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

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

Sofern Sie nichts anderes mit Klammern angeben, wird die AND-Logik vor der OR-Logik berücksichtigt. 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")

wird ausgewertet als:

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 gesetzt sind. Weitere Informationen finden Sie in der Beschreibung logischer Konstanten.

Funktionen verwenden

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

Funktionen bestehen aus einem Namen, gefolgt von zwei Klammern. Beispiel: my_function(). Eventuell müssen Sie in diesen Klammern Informationen durch Kommas getrennt angeben. Diese Informationen werden als „Argumente“ bezeichnet und sehen so aus: my_function(argument_1, argument_2).

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

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

Es gibt zwei Möglichkeiten, herauszufinden, welche Argumente gegebenenfalls vorgelegt werden müssen:

  • Der Informationsbereich, der neben dem Ausdruckseditor angezeigt wird, enthält Informationen zur Funktion, die Sie gerade schreiben. Sie können auf den Namen der Funktion klicken, um die Dokumentation aufzurufen.
  • Sie können auch direkt zur Dokumentationsseite Looker-Funktionen und -Operatoren gehen und nach der Funktion suchen, die Sie verwenden möchten.

Betrachten Sie die Funktion contains, deren Dokumentation so aussieht:

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 die Wörter „string“ und „search_string“ in die Funktion eingeben müssen. Dies 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, in dem wir suchen möchten, während search_string das ist, nachdem gesucht werden soll. Hier ein Beispiel:

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

Wenn das Wort „hervorragend“ im Kundenfeedback angezeigt wird, liefert diese Funktion das Ergebnis Yes. 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 zu den Argumenten der äußeren Funktion passt, 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 wiederum in einer contains-Funktion enthalten ist. Das funktioniert so:

  1. Die Funktion is_null() sucht nach Kundenfeedbacktext.
  2. Als Nächstes verwendet die Funktion if() dieses Ergebnis und gibt den Kundenfeedbacktext zurück, falls vorhanden, oder auf andere Weise den Text des Kundenkommentars.
  3. Schließlich verwendet die contains()-Funktion den von der if()-Funktion zurückgegebenen Text und sucht dort nach dem Wort "great".

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