Looker-Ausdrücke erstellen

Looker-Ausdrücke sind Formeln, mit denen Sie benutzerdefinierte Berechnungen durchführen und erweiterte Logik in Looker anwenden können. Mit Looker-Ausdrücken können Sie dynamische Tabellenkalkulationen, benutzerdefinierte Felder, benutzerdefinierte Filter und Datentests erstellen. So können Sie spezifische Erkenntnisse gewinnen und Ihre Datenanalyse anpassen. In diesem Leitfaden wird beschrieben, wie Sie Looker-Ausdrücke effektiv erstellen und verwenden.

Shortcuts für häufig verwendete Funktionen

Bevor Sie Looker-Ausdrücke erstellen, prüfen Sie, ob Ihre Aufgabe mit integrierten Shortcuts erledigt werden kann:

Looker-Ausdrücke

Mit Looker-Ausdrücken werden Berechnungen für folgende Elemente durchgeführt:

Ein Looker-Ausdruck besteht aus einer Kombination dieser Elemente:

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

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

  • Ein Looker-Feld: Ein Verweis auf ein Looker Feld, einschließlich Dimensionen, Messwerte und Tabellenkalkulationen.

  • Ein Looker-Operator: Eine Liste der verfügbaren Operatoren finden Sie unter Looker-Funktionen und -Operatoren. Zu den unterstützten Operatoren gehören die folgenden Kategorien:

    • Mathematische Operatoren (z. B. +, -, * und /)
    • Vergleichsoperatoren (z. B. =, > und <=).
    • Logische Operatoren (z. B. AND, OR und NOT).
  • Eine Looker-Funktion: Ähnlich wie Tabellenkalkulationsfunktionen können Sie mit Funktionen Ihre Daten auf komplexe Weise transformieren oder darauf verweisen. Eine Liste der verfügbaren Funktionen finden Sie unter Looker-Funktionen und -Operatoren.

Looker-Ausdrücke erstellen

Tabellenkalkulationen, benutzerdefinierte Felder und benutzerdefinierte Filter verwenden den Looker-Ausdruckseditor. Während Sie Ihren Ausdruck eingeben, werden Ihnen von Looker Funktionen, Operatoren und Feldnamen vorgeschlagen, die Sie möglicherweise verwenden möchten.

Alle Vorschläge ansehen

Sie können auf den Looker-Ausdruckseditor in einem Explore zugreifen, indem Sie eine Tabellenkalkulation, 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 ein Feld derzeit im Explore ausgewählt ist, wird links davon ein schwarzer Punkt angezeigt und das Feld wird oben in der Liste aufgeführt.

Beginnen Sie mit der Eingabe im Looker-Ausdruckseditor, um die Liste auf die gewünschten Elemente zu beschränken.

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

Feld hinzufügen

Wenn Sie ein Looker-Feld in Ihren Ausdruck einfügen möchten, beginnen Sie mit der Eingabe des Feldnamens. Während der Eingabe wird die Suche auf eine Liste von Feldern und Funktionen beschränkt, die das enthalten, was Sie eingegeben haben. Sie können den Namen des Felds so eingeben, wie er auf der Explore-Seite angezeigt wird, oder den LookML-Namen verwenden, wenn Sie ihn kennen.

Wenn Sie ein Feld aus der Liste auswählen, wird es mit dem LookML-Namen im Format ${view_name.field_name} zu Ihrem Ausdruck hinzugefügt. So 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 Spalten- und Zeilensummen in den Ausdruck einbeziehen. Spaltensummen werden im Editor mit dem Wort Summe vor der LookML-Iteration des Feldnamens angezeigt. Für ein Feld mit dem Namen Anzahl, gibt Looker der 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 am Ende des Feldnamens hinzugefügt wird.

Bei Zeilensummen wird im Editor vor dem Feldnamen Zeilensummen angezeigt. 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. Dieses Verhalten kann jedoch mit Klammern überschrieben werden. 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 korrekten Verwendung angezeigt.

Funktionen hinzufügen

Wenn Sie eine Looker-Funktion in Ihren Ausdruck einfügen möchten, beginnen Sie mit der Eingabe des Funktionsnamens. Während der Eingabe wird die Suche auf eine Liste von Feldern und Funktionen beschränkt, die das enthalten, was Sie eingegeben haben.

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, finden Sie im Informationsbereich Hinweise dazu, welche Argumente Sie angeben müssen und welchen Typ sie haben müssen.

Eine vollständige Liste der Funktionen finden Sie unter Looker-Funktionen und -Operatoren.

Fehlerhinweise und Informationsbereich verwenden

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

Der Informationsbereich enthält die folgenden Informationen:

  • Fehlerhervorhebung: Looker unterstreicht alle Teile von dem Ausdruck, die noch nicht korrekt sind, rot.

  • Vorschläge und Fehlerdetails: Looker gibt Vorschläge was Sie als Nächstes in Ihren Ausdruck einfügen können. Wenn ein Fehler vorliegt, wird erklärt, warum er auftritt.

  • Dokumentation: Looker zeigt Dokumentation zur Funktion oder zum Operator an, mit dem Sie arbeiten. Wenn Sie beispielsweise das erste Argument einer if-Funktion eingeben, gibt Looker an, dass das erste Argument als yes oder no ausgewertet werden sollte. Klicken Sie auf den Funktionsnamen, um die Dokumentation aufzurufen.

Kommentare einfügen

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

Felder verwenden

Manchmal möchten Sie den Wert eines Felds (einer Dimension, eines Messwerts oder einer Tabellenkalkulation) in einem Ausdruck verwenden. Sie können den Wert des Felds zu etwas anderem hinzufügen, prüfen, ob er einen bestimmten Wert hat, oder ihn in eine Funktion einbeziehen.

Wie unter Feld hinzufügen beschrieben, können Sie den Namen des Felds in den Ausdruckseditor eingeben. Looker hilft Ihnen dann, das richtige Referenzformat zu finden. Wenn Sie einem Ausdruck ein Feld hinzufügen, wird der LookML-Bezeichner des Felds verwendet, z. B. ${view_name.field_name}. Geben Sie den Feldnamen so ein, wie er in der Feldauswahl angezeigt wird. Der Ausdruckseditor zeigt dann den Namen der Feldauswahl zusammen mit dem LookML-Bezeichner an.

Es gibt verschiedene Möglichkeiten, einen Wert abzurufen:

  • Wert aus derselben Zeile abrufen: Die einfachste Möglichkeit, ein Feld zu verwenden, besteht darin, direkt darauf zu verweisen, z. B. ${product.category}. Dadurch wird auf den Wert für dieses Feld in der aktuellen Zeile verwiesen.

  • Wert aus einer anderen Zeile abrufen: Sie können den Wert eines Felds auch aus einer anderen Zeile abrufen. Wenn Sie beispielsweise die Produktkategorie aus der vorherigen Zeile abrufen möchten, verwenden Sie eine Offset-Funktion wie offset(${product.category}, -1). Eine Liste der Positionsfunktionen finden Sie unter Positionsfunktionen.

  • Wert aus einer Pivot-Spalte abrufen: Um Werte aus Pivot-Spalten abzurufen, verwenden Sie Pivot-Funktionen wie pivot_index(${order.total_sales}, 1). Eine Liste der Pivot-Funktionen finden Sie unter Pivot-Funktionen.

  • Summe aus einer Zeile oder Spalte abrufen: Wenn Sie in Ihrem Explore Summen angezeigt haben, können Sie Summenwerte abrufen, indem Sie dem Feldnamen :total (für Spaltensummen) oder :row_total (für Zeilensummen) im Format ${field_name:total} hinzufügen. Beispiel: ${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 mit Klammern nichts anderes angeben, wird die AND-Logik vor der OR-Logik ausgewertet. 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 so ausgewertet:

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

Verwenden Sie in Looker yes und no anstelle von true und false. Diese logischen Konstanten sind nicht dasselbe wie die Literal-Strings "yes" und "no". Weitere Informationen finden Sie unter Logische Konstanten.

Funktionen verwenden

Looker-Ausdrücke enthalten oft eine oder mehrere Funktionen, um Daten abzurufen oder zu berechnen. Sie ähneln Tabellenkalkulationsfunktionen.

Funktionen haben die Form eines Namens gefolgt von Klammern, z. B. my_function(). Werte, die in den Klammern übergeben werden, sind Argumente, z. B. my_function(argument_1, argument_2).

Die now Funktion nimmt beispielsweise keine Argumente an und gibt das aktuelle Datum und die aktuelle Uhrzeit zurück: now().

Die round Funktion nimmt ein numerisches Argument an: round(3.2). Das Ergebnis ist 3.

So finden Sie heraus, welche Argumente Sie angeben müssen:

Betrachten Sie die contains Funktion:

Funktion Syntax Zweck
contains {:#function-contains} contains(string, search_string) Gibt Yes zurück, wenn string search_string enthält, andernfalls No.

Die contains Funktion erfordert zwei Argumente: string und search_string. Das Argument string steht für das Feld oder den Text, in dem gesucht werden soll, und search_string steht für den Suchbegriff:

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

Wenn „great“ im Kundenfeedback vorkommt, gibt die Funktion Yes zurück. Andernfalls wird No zurückgegeben.

Sie können Funktionen in andere Funktionen einbetten:

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

Dieser Ausdruck wird in drei Schritten ausgewertet:

  1. Die Funktion is_null prüft, ob der Text des Kundenfeedbacks leer ist.
  2. Die Funktion if gibt den Feedbacktext zurück, falls vorhanden, andernfalls den Kommentartext.
  3. Die Funktion contains sucht im zurückgegebenen Text nach „great“.

Logisch bedeutet dieser Ausdruck: „Wenn Kundenfeedback vorhanden ist, suchen Sie in diesem Text. Andernfalls suchen Sie stattdessen in Kundenkommentaren. Suchen Sie in beiden Fällen nach dem Wort „great“.