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:
- Tabellenkalkulationen: Wenn Ihr Administrator Ihnen die Berechtigung zum Erstellen von Tabellenkalkulationen erteilt hat, können Sie mit Shortcut-Berechnungen schnell häufig verwendete Berechnungen für numerische Felder in der Datentabelle eines Explores durchführen.
- Benutzerdefinierte Felder: Wenn Ihr Administrator Ihnen die Berechtigung zum Erstellen benutzerdefinierter Felder erteilt hat, können Sie Folgendes verwenden:
- Benutzerdefinierte Gruppen, um
Werte unter benutzerdefinierten Labels zu gruppieren, ohne
CASE WHENLogik insqlParametern odertype: caseFeldern entwickeln zu müssen. - Benutzerdefinierte Klassen, um
Dimensionen vom Typ „Numerisch“ in benutzerdefinierten Ebenen zu gruppieren, ohne
type: tierLookML-Felder entwickeln zu müssen.
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. 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
7oder ein String wieCompletedsind 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,ORundNOT).
- Mathematische Operatoren (z. B.
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 alsyesodernoausgewertet 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,ORundNOT). - 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:
- Der Informationsbereich neben dem Ausdruckseditor enthält Dokumentation für die aktive Funktion.
- Eine vollständige Liste der Funktionen finden Sie unter Looker-Funktionen und -Operatoren.
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:
- Die Funktion
is_nullprüft, ob der Text des Kundenfeedbacks leer ist. - Die Funktion
ifgibt den Feedbacktext zurück, falls vorhanden, andernfalls den Kommentartext. - Die Funktion
containssucht 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“.