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 bestimmte Erkenntnisse gewinnen und Ihre Datenanalyse anpassen. In diesem Leitfaden wird beschrieben, wie Sie Looker-Ausdrücke effektiv erstellen und verwenden.
Tastenkombinationen für häufig verwendete Funktionen
Bevor Sie Looker-Ausdrücke erstellen, sollten Sie prüfen, ob sich Ihre Aufgabe mit integrierten Tastenkombinationen erledigen lässt:
- Tabellenkalkulationen: Wenn Ihr Administrator Ihnen Berechtigungen zum Erstellen von Tabellenkalkulationen erteilt hat, können Sie Schnellberechnungen verwenden, um schnell allgemeine Berechnungen für numerische Felder in der Datentabelle eines Explorations durchzuführen.
- Benutzerdefinierte Felder: Wenn Ihr Administrator Ihnen Berechtigungen zum Erstellen benutzerdefinierter Felder gewährt hat, können Sie Folgendes verwenden:
- Benutzerdefinierte Gruppen, um Werte unter benutzerdefinierten Labels zu gruppieren, ohne
CASE WHEN-Logik insql-Parametern odertype: case-Feldern entwickeln zu müssen. - Benutzerdefinierte Klassen, um Dimensionen vom numerischen Typ in benutzerdefinierten Ebenen zu gruppieren, ohne
type: tier-LookML-Felder entwickeln zu müssen.
- Benutzerdefinierte Gruppen, um Werte unter benutzerdefinierten Labels zu gruppieren, ohne
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 WertNULLgibt an, dass keine Daten vorhanden sind. Das kann nützlich sein, wenn Sie prüfen möchten, ob etwas leer ist oder nicht vorhanden ist.Konstante: Eine Konstante ist ein unveränderlicher Wert, den Sie angeben. Eine Zahl wie
7oder ein String wieCompletedsind Konstanten.Looker-Feld: Eine Referenz auf ein Looker-Feld, das Dimensionen, Messwerte und Tabellenkalkulationen enthält.
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 wie
AND,ORundNOT
- Mathematische Operatoren (z. B.
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
Für Tabellenkalkulationen, benutzerdefinierte Felder und benutzerdefinierte Filter wird der Looker-Ausdruckseditor verwendet. Während Sie Ihren Ausdruck eingeben, schlägt Looker Funktionen, Operatoren und Feldnamen vor, 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, ein benutzerdefiniertes Feld oder einen benutzerdefinierten Filter erstellen.
Geben Sie ein Leerzeichen ein, um eine Liste aller Felder, Funktionen und Operatoren aufzurufen, die Sie auswählen können. Wenn ein Feld derzeit im Explore ausgewählt ist, wird in Looker ein schwarzer Punkt links neben dem Feld angezeigt. Das Feld wird oben in der Liste aufgeführt.
Beginnen Sie mit der Eingabe im Looker-Ausdruckseditor, um die Liste auf die Elemente zu beschränken, die Sie interessieren.
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 eingeschränkt, die das enthalten, was Sie eingegeben haben. Sie können den Namen des Felds eingeben, wie er auf der Seite „Explore“ angezeigt wird, oder den LookML-Namen verwenden, falls Sie ihn kennen.
Wenn Sie ein Feld aus der Liste auswählen, wird es Ihrem Ausdruck in Looker mit dem LookML-Namen im Format ${view_name.field_name} 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 Gesamtwerte angezeigt haben, können Sie auch Spalten- und Zeilensummen in den Ausdruck einbeziehen. Spaltensummen werden im Editor mit dem Wort Total vor der LookML-Iteration des Feldnamens angezeigt. Wenn ein Feld beispielsweise den Namen Anzahl hat, wird die Spaltensumme für dieses Feld in Looker als Count - Total bezeichnet.
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 der Text Zeilensummen angezeigt. Im LookML-Namen des Felds wird :row_total an das Ende des Feldnamens angehängt, z. B. ${view_name.field_name:row_total}.
Operatoren hinzufügen
Bei Bedarf können Sie Ihrem Ausdruck logische Operatoren wie AND, OR und NOT hinzufügen. Normalerweise werden AND-Operatoren vor OR-Operatoren ausgewertet. Sie können dieses Verhalten jedoch durch die 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 richtigen 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 Sie tippen, wird die Suche im Editor auf eine Liste von Feldern und Funktionen eingegrenzt, 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, sehen Sie im Informationsbereich, 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 das Infofeld verwenden
In Looker wird neben dem Looker-Ausdruckseditor ein Informationsbereich angezeigt. In diesem Bereich finden Sie Dokumentation und Vorschläge, insbesondere wenn Ihr Ausdruck einen Fehler enthält.
Im Informationsbereich finden Sie die folgenden Informationen:
Fehlerhervorhebung: In Looker werden alle Teile des Ausdrucks, die noch nicht korrekt sind, rot unterstrichen.
Vorschläge und Fehlerdetails: Looker macht Vorschläge, was Sie als Nächstes in Ihren Ausdruck einfügen sollten. Wenn ein Fehler auftritt, wird erklärt, warum.
Dokumentation: In Looker wird die Dokumentation zur Funktion oder zum Operator angezeigt, mit der bzw. dem Sie gerade arbeiten. Wenn Sie beispielsweise das erste Argument einer
if-Funktion eingeben, gibt Looker an, dass das erste Argument alsyesodernoausgewertet werden sollte. Klicken Sie auf den Funktionsnamen, um die zugehörige Dokumentation aufzurufen.
Kommentare einbeziehen
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 Tabellenberechnung) in einem Ausdruck verwenden. Sie möchten den Wert des Felds vielleicht zu etwas anderem hinzufügen, prüfen, ob er einen bestimmten Wert hat, oder ihn in eine Funktion einfügen.
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, verwendet Looker den LookML-Bezeichner des Felds, z. B. ${view_name.field_name}. Geben Sie den Feldnamen so ein, wie er in der Feldauswahl angezeigt wird. Im Ausdruckseditor wird dann der Name der Feldauswahl zusammen mit dem LookML-Bezeichner angezeigt.
Es gibt mehrere Möglichkeiten, einen Wert abzurufen:
Wert aus derselben Zeile abrufen: Die einfachste Methode, ein Feld zu verwenden, besteht darin, direkt darauf zu verweisen, z. B.
${product.category}. Damit wird auf den Wert für dieses Feld in der aktuellen Zeile verwiesen.Wert aus einer anderen Zeile abrufen: Sie können auch den Wert eines Felds 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 pivotierten Spalte abrufen: Verwenden Sie Pivot-Funktionen wie
pivot_index(${order.total_sales}, 1), um Werte aus pivotierten Spalten abzurufen. Eine Liste der Pivot-Funktionen finden Sie unter Pivot-Funktionen.Gesamtsumme aus einer Zeile oder Spalte abrufen: Wenn Sie Gesamtsummen in Ihrem Explore angezeigt haben, können Sie Gesamtsummenwerte 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 Operatoren, Vergleichsoperatoren und mathematische Operatoren enthalten, um verschiedene Bedingungen zu erstellen:
- Logische Operatoren wie
AND,ORundNOT - Vergleichsoperatoren (z. B.
>und<) - Mathematische Operatoren wie
+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 Literalstrings "yes" und "no". Weitere Informationen finden Sie unter Logische Konstanten.
Funktionen verwenden
Looker-Ausdrücke enthalten oft eine oder mehrere Funktionen zum Abrufen oder Berechnen von Daten. Sie ähneln Tabellenkalkulationsfunktionen.
Funktionen haben die Form eines Namens, gefolgt von Klammern, z. B. my_function(). Werte, die in Klammern übergeben werden, sind Argumente, z. B. my_function(argument_1, argument_2).
Die Funktion now nimmt beispielsweise keine Argumente an und gibt das aktuelle Datum und die aktuelle Uhrzeit zurück: now().
Die Funktion round akzeptiert ein numerisches Argument: round(3.2). Das Ergebnis ist 3.
So finden Sie heraus, welche Argumente Sie angeben müssen:
- Im Informationsbereich neben dem Ausdruckseditor finden Sie die Dokumentation für die aktive Funktion.
- Eine vollständige Liste der Funktionen finden Sie unter Looker-Funktionen und -Operatoren.
Betrachten Sie die Funktion contains:
| Funktion | Syntax | Zweck |
|---|---|---|
| contains {:#function-contains} | contains(string, search_string) |
Gibt Yes zurück, wenn string search_string enthält, andernfalls No. |
Für die Funktion contains sind zwei Argumente erforderlich: string und search_string.
Das string-Argument steht für das Feld oder den Text, in dem gesucht werden soll, und search_string 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 ineinander verschachteln:
contains(
if(
is_null(${customer.feedback_text}),
${customer.comment_text},
${customer.feedback_text}
),
"great")
Dieser Ausdruck wird in drei Schritten ausgewertet:
- Die Funktion
is_nullprüft, ob der Text des Kundenfeedbacks leer ist. - Die Funktion
ifgibt den Feedbacktext zurück, sofern vorhanden. Andernfalls wird der Kommentartext zurückgegeben. - Die Funktion
containsdurchsucht den zurückgegebenen Text nach „great“.
Logisch bedeutet dieser Ausdruck: „Wenn Kundenfeedback vorhanden ist, suche in diesem Text. Suchen Sie andernfalls in den Kundenkommentaren. Suchen Sie in beiden Fällen nach dem Wort „great“.