Looker-Ausdrücke
Looker-Ausdrücke (manchmal auch als Lexp bezeichnet) werden verwendet, um Berechnungen für Folgendes durchzuführen:
Ein Looker-Ausdruck besteht aus einer Kombination der folgenden Elemente:
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 wieCompleted
sind Konstanten.Looker-Feld: Eine Referenz auf ein Looker-Feld, das Dimensionen, Messwerte und Tabellenkalkulationen enthält.
Looker-Operator: Es gibt verschiedene 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
undNOT
)
- Mathematische Operatoren (z. B.
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 den Ausdruck eingeben, werden in Looker Funktionen, Operatoren und Feldnamen angezeigt, die Sie verwenden können.
Alle Vorschläge werden angezeigt
Sie können den Looker-Ausdruckseditor in einem Explore aufrufen, indem Sie eine Tabellenberechnung, ein benutzerdefiniertes Feld oder einen benutzerdefinierten Filter erstellen.
Geben Sie ein Leerzeichen ein, um eine Liste aller Felder, Funktionen und Operatoren anzuzeigen, aus denen Sie auswählen können. Wenn im Explore derzeit ein Feld ausgewählt ist, zeigt Looker links neben dem Feld einen schwarzen Punkt an und das Feld wird oben in der Liste angezeigt.
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 Sie tippen, schränkt der Editor die Suche auf eine Liste von Feldern und Funktionen ein, die den von Ihnen eingegebenen Text enthalten. Sie können den Namen des Felds eingeben, wie er auf der Explore-Seite angezeigt wird, oder den LookML-Namen verwenden, falls Sie ihn kennen.
Wenn Sie ein Feld aus der Liste auswählen, wird es in Looker mit dem LookML-Namen im Format ${view_name.field_name}
in den Ausdruck eingefügt. So haben alle Felder in Ihrem Ausdruck eindeutige Namen.
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 aufnehmen. Spaltensummen werden im Editor mit dem Wort Summe vor der LookML-Iteration des Feldnamens angezeigt. Wenn Sie beispielsweise ein Feld mit dem Namen Anzahl haben, wird der Spaltensumme für dieses Feld in Looker der Name Count - Total
zugewiesen.
Der LookML-Name für Gesamtsummen hat das Format ${view_name.field_name:total}
, wobei :total
an das Ende des Feldnamens angehängt wird.
Bei Zeilensummen wird im Editor vor dem Feldnamen Zeilensummen angezeigt. Im LookML-Namen des Felds wird am Ende des Feldnamens :row_total
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 Infofeld Hinweise zur korrekten Verwendung angezeigt.
Funktionen hinzufügen
Wenn Sie eine Looker-Funktion in den Ausdruck aufnehmen möchten, geben Sie den Namen der Funktion ein. Während Sie tippen, schränkt der Editor die Suche auf eine Liste von Feldern und Funktionen ein, die den von Ihnen eingegebenen Text enthalten.
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 im Informationsfeld nachlesen, 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 Infobereich verwenden
In Looker wird neben dem Looker-Ausdruckseditor ein Infobereich angezeigt. In diesem Bereich finden Sie Dokumentation und Vorschläge, insbesondere wenn ein Fehler in Ihrem Ausdruck vorliegt.
Im Informationsfeld neben dem Ausdruckseditor finden Sie die folgenden 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. Falls ein Fehler auftritt, wird erläutert, warum das der Fall ist. Wenn mehrere Fehler auftreten, wird der Fehler angezeigt, der sich an der Position des Cursors befindet.
Dokumentation:Looker zeigt die Dokumentation zu der Funktion oder dem Operator, mit der Sie arbeiten, basierend auf Ihrer Cursorposition an. Wenn Sie beispielsweise das erste Argument einer
if()
-Funktion eingeben, gibt Looker an, ob das erste Argument als „wahr“ oder „falsch“ ausgewertet werden soll. 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
Manchmal möchten Sie den Wert eines Felds (einer Dimension, eines Messwerts oder einer Tabellenberechnung) in einem Ausdruck verwenden. Sie können den Wert des Felds beispielsweise einem anderen Element hinzufügen, prüfen, ob er einen bestimmten Wert hat, ihn in eine Funktion aufnehmen oder viele andere Dinge damit tun.
Wie bereits auf dieser Seite beschrieben, können Sie den Namen des Felds in den Ausdruckseditor eingeben. Looker hilft Ihnen dann, die richtige Referenzierung des Felds 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 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 Methode zur Verwendung eines Felds ist die direkte Referenz 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. Angenommen, Sie möchten die Logik „Für jede Zeile die Produktkategorie aus der vorherigen Zeile abrufen“ verwenden. Dazu können Sie eine Offset-Funktion verwenden (siehe Liste der Positionierungsfunktionen). 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. Beispiel: Sie möchten, dass für jede Zeile der Wert „Gesamtumsatz“ aus der ersten Pivot-Spalte übernommen 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 explorativen Datenanalysetool Summen hinzugefügt haben, können Sie Summenwerte 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 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
undNOT
) - 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 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 mit den Wörtern "yes"
und "no"
identisch, die in Anführungszeichen gesetzt sind. Weitere Informationen finden Sie in der Beschreibung der logischen 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()
. 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
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. So verwenden Sie es: round(3.2)
. Das Ergebnis ist 3
.
Es gibt zwei Möglichkeiten, herauszufinden, welche Argumente Sie gegebenenfalls angeben 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 No . |
Wie Sie sehen, sind zwei Argumente erforderlich. Sie haben die Namen string
und search_string
, aber Sie müssen nicht genau die Wörter „string“ und „search_string“ in die Funktion eingeben. Das sind nur Namen für die Argumente, die Sie durch etwas anderes ersetzen. Aus dem Zweck geht hervor, dass string
ein Feld oder ein anderer Wert sein sollte, in dem wir suchen möchten, während search_string
das ist, nach dem wir suchen möchten. 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:
- Die Funktion
is_null()
prüft auf Kundenfeedback. - Als Nächstes verwendet die Funktion
if()
dieses Ergebnis und gibt gegebenenfalls den Kundenfeedbacktext oder auf andere Weise den Text des Kundenkommentars zurück. - Schließlich verwendet die
contains()
-Funktion den von derif()
-Funktion zurückgegebenen Text und sucht dort nach dem Wort "great".
Logisch bedeutet dieser Ausdruck: „Wenn es Kundenfeedback gibt, suche darin. Falls nicht, suchen Sie stattdessen in den Kundenkommentaren. Suchen Sie in beiden Fällen nach dem Wort .