Looker-Ausdrücke
Mit Looker-Ausdrücken (auch Lexp genannt) 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. 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
7
oder ein String wieCompleted
sind Konstanten.Looker-Feld:Eine Referenz auf ein Looker-Feld, das Dimensionen, Messwerte und Tabellenkalkulationen enthält.
Ein Looker-Operator:Es gibt verschiedene Arten von Operatoren, die auf der Dokumentationsseite Looker-Funktionen und ‑Operatoren aufgeführt sind:
- Mathematische Operatoren wie
+
,-
,*
und/
- Vergleichsoperatoren (z. B.
=
,>
und<=
) - Logische Operatoren wie
AND
,OR
undNOT
- Mathematische Operatoren wie
Looker-Funktion: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, schlägt Looker Funktionen, Operatoren und Feldnamen vor, die Sie möglicherweise verwenden möchten.
Alle Vorschläge sehen
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, aus denen Sie auswählen können. Wenn ein Feld derzeit im Explore ausgewählt ist, wird in Looker links neben dem Feld ein schwarzer Punkt 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 eingegrenzt, 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, wenn Sie ihn kennen.
Wenn Sie ein Feld aus der Liste auswählen, wird es von Looker mit dem LookML-Namen im Format ${view_name.field_name}
in den Ausdruck eingefü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 mit 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 Begriff 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 mit Klammern überschreiben. Sie können auch Vergleichsoperatoren wie >
, =
und <=
sowie mathematische Operatoren wie +
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 der Eingabe wird die Suche 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, können Sie in den Notizen, die neben dem Ausdruck im Informationsbereich angezeigt werden, nachsehen, welche Argumente Sie angeben müssen und welchen Typ sie haben müssen.
Eine vollständige Liste der Funktionen, die in Looker verfügbar sind, finden Sie auf der Dokumentationsseite Funktionen und Operatoren in Looker.
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 Sie einen Fehler in Ihrem Ausdruck haben.
Im Informationsbereich neben dem Ausdruckseditor finden Sie folgende Informationen:
Fehlerhervorhebung:Looker unterstreicht alle Teile des Ausdrucks, die noch nicht korrekt sind, rot.
Vorschläge und Fehlerdetails:Looker macht Vorschläge, was Sie als Nächstes in Ihren Ausdruck einfügen können. Wenn ein Fehler auftritt, wird erklärt, warum. Wenn mehrere Fehler vorhanden sind, wird der Fehler angezeigt, der sich an der Position Ihres Cursors befindet.
Dokumentation:Looker zeigt basierend auf Ihrer Cursorposition Dokumentation zur Funktion oder zum Operator an, mit der bzw. dem Sie gerade arbeiten. Wenn Sie beispielsweise das erste Argument einer
if()
-Funktion eingeben, gibt Looker an, dass das erste Argument als „wahr“ oder „falsch“ ausgewertet werden sollte. Sie können auf den Funktionsnamen klicken, um die Dokumentation für diese Funktion aufzurufen.
Einschließlich Kommentare
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 beispielsweise zu einem anderen Wert addieren, prüfen, ob er einen bestimmten Wert hat, oder ihn in eine Funktion einfügen.
Wie weiter oben auf dieser Seite beschrieben, können Sie den Namen des Felds in den Ausdruckseditor eingeben. Looker hilft Ihnen dann, die richtige Referenz für das Feld zu finden. Wenn Sie einem Ausdruck ein Feld hinzufügen, verwendet Looker die LookML-Kennung des Felds, die so aussieht: ${view_name.field_name}
. Geben Sie den Feldnamen so ein, wie er im Field Picker angezeigt wird. Im Ausdruckseditor werden dann der Name im Field Picker und der LookML-Bezeichner zusammen 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. Beispiel: Ihr Ausdruck könnte
${product.category}
enthalten. Damit sagen Sie: „Nimm für jede Zeile die Produktkategorie aus dieser Zeile.“Wert aus einer anderen Zeile abrufen:Sie können den Wert eines Felds auch aus einer anderen Zeile abrufen. Sie möchten beispielsweise die Logik „Für jede Zeile die Produktkategorie aus der vorherigen Zeile abrufen“ verwenden. Dazu können Sie eine Offset-Funktion verwenden (Liste der Positionsfunktionen). Die Offsetfunktion könnte so aussehen:
offset(${product.category}, -1)
.Wert aus einer pivotierten Spalte abrufen:Sie können auch Werte aus pivotierten Spalten abrufen. Beispiel: „Für jede Zeile den Gesamtumsatz aus der ersten Spalte mit Pivotierung abrufen.“ Wenn Sie mit Spalten arbeiten möchten, die gedreht wurden, müssen Sie Pivot-Funktionen verwenden (Liste der Pivot-Funktionen). Die Pivot-Funktion könnte so aussehen:
pivot_index(${order.total_sales}, 1)
.Gesamtsumme aus einer Zeile oder Spalte abrufen:Wenn Sie Ihrem Explore Gesamtsummen hinzugefügt haben, können Sie Gesamtsummenwerte aus der Spalte oder Zeile abrufen, indem Sie dem Feldnamen
:total
(für Spaltensummen) oder:row_total
(für Zeilensummen) im Format${field_name:total}
hinzufügen. Wenn Sie beispielsweise einen Prozentsatz des Gesamtwerts für die Anzahl der Bestellungen berechnen möchten, können Sie eine Tabellenkalkulation wie diese 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 wie
AND
,OR
undNOT
- Vergleichsoperatoren wie
>
und<
- Mathematische Operatoren wie
+
und-
Sofern Sie mit Klammern nichts anderes 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 so 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 bestimmte Berechnungen durchführen 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 angeben, die durch Kommas getrennt sind. Diese Informationen werden als „Argumente“ bezeichnet und sehen so aus: my_function(argument_1, argument_2)
.
Die Funktion now
hat beispielsweise keine Argumente und gibt das aktuelle Datum und die aktuelle Uhrzeit zurück. So verwenden Sie es: now()
.
Die Funktion round
hat ein Argument, nämlich eine Zahl. So verwenden Sie es: round(3.2)
. Das Ergebnis ist 3
.
Es gibt zwei Möglichkeiten, herauszufinden, welche Argumente Sie angeben müssen:
- Im Informationsbereich, der neben dem Ausdruckseditor angezeigt wird, finden Sie Dokumentation zur Funktion, die Sie gerade schreiben. 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 nachschlagen.
Betrachten Sie die Funktion contains
, deren Dokumentation so aussieht:
Funktion | Syntax | Zweck |
---|---|---|
contains | contains(string, search_string) |
Gibt Yes zurück, wenn string search_string enthält, andernfalls No . |
Sie sehen, dass zwei Argumente erforderlich sind. Sie haben die Namen string
und search_string
. Das bedeutet aber nicht, dass Sie das genaue Wort „string“ und „search_string“ in die Funktion eingeben müssen. Das sind nur Namen für die Argumente, die Sie ersetzen werden. Wenn wir uns den Zweck ansehen, stellen wir fest, dass string
ein Feld oder ein anderer Wert sein sollte, in dem wir suchen möchten, während search_string
das ist, wonach wir suchen möchten. Ein Beispiel:
contains(${customer.feedback_text}, "great")
Wenn das Wort „great“ im Kundenfeedback vorkommt, gibt diese Funktion das Ergebnis Yes
zurück. Andernfalls wird 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 Funktion is_null
ist in einer if
-Funktion verschachtelt, die wiederum in einer contains
-Funktion verschachtelt ist. So funktioniert es:
- Die Funktion
is_null()
prüft auf Text mit Kundenfeedback. - Als Nächstes verwendet die Funktion
if()
dieses Ergebnis und gibt den Text des Kundenfeedbacks zurück, sofern vorhanden, oder andernfalls den Text des Kundenkommentars. - Schließlich verwendet die Funktion
contains()
den von der Funktionif()
zurückgegebenen Text und sucht darin nach dem Wort „great“.
Logisch bedeutet dieser Ausdruck: „Wenn es Kundenfeedback gibt, dann suche darin. Falls nicht, suchen Sie stattdessen in den Kundenkommentaren. Suchen Sie in beiden Fällen nach dem Wort „great“.