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 der folgenden 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 existiert.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 wie
=
,>
und<=
- Logische Operatoren (z. B.
AND
,OR
undNOT
)
- Mathematische Operatoren (z. B.
Looker-Funktion:Diese Funktionen ä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 einen Leerraum ein, um eine Liste aller Felder, Funktionen und Operatoren aufzurufen, aus denen Sie auswählen können. Wenn im Explore derzeit ein Feld ausgewählt ist, wird in Looker links neben dem Feld ein schwarzer Punkt angezeigt und das Feld wird oben in der Liste angezeigt.
Geben Sie etwas in den Looker-Ausdruckseditor ein, um die Liste auf Elemente einzugrenzen, 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
Wenn Sie ein Looker-Feld in den Ausdruck aufnehmen möchten, geben Sie den Namen des Felds 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. 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 Summen hat das Format ${view_name.field_name:total}
, wobei am Ende des Feldnamens :total
hinzugefügt 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 dem Ausdruck bei Bedarf logische Operatoren wie AND
, OR
und NOT
hinzufügen. Normalerweise werden AND
-Operatoren vor OR
-Operatoren ausgewertet. Sie können dieses Verhalten jedoch mithilfe 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 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.
Eine vollständige Liste der Funktionen, die in Looker angeboten werden, 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 in Ihrem Ausdruck ein Fehler vorliegt.
Im Informationsfeld neben dem Ausdruckseditor 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 in Ihrem Ausdruck als Nächstes hinzufügen können. 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:In Looker wird je nach Cursorposition eine Dokumentation zur verwendeten Funktion oder zum verwendeten Operator angezeigt. 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 einschließen
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 können den Wert des Felds beispielsweise einem anderen Element hinzufügen, prüfen, ob er einen bestimmten Wert hat, ihn in eine Funktion einbinden 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-ID des Felds, die in etwa so aussieht: ${view_name.field_name}
. Geben Sie den Feldnamen ein, wie er im Field Picker angezeigt wird. Im Ausdruckseditor werden dann der Name des Field Pickers und die LookML-ID zusammen angezeigt.
Es gibt mehrere Möglichkeiten, einen Wert abzurufen:
Wert aus derselben Zeile abrufen:Die einfachste Methode, ein Feld zu verwenden, ist eine direkte Referenz darauf. Beispiel: Der Ausdruck könnte
${product.category}
enthalten. Damit sagen Sie: „Holen Sie sich für jede Zeile die Produktkategorie aus dieser Zeile.“Wert aus einer anderen Zeile abrufen:Sie können den Wert eines Feldes 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)
.Werte aus einer Pivot-Spalte abrufen:Sie können auch Werte aus Pivot-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. Eine Liste der Pivot-Funktionen finden Sie hier. 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 der Bestellungen benötigen, können Sie eine Tabellenberechnung wie${orders.count} / ${orders.count:total}
erstellen.
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 nicht anderweitig 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 oft eine oder mehrere Funktionen, mit denen Sie bestimmte Daten abrufen oder bestimmte Dinge berechnen 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
nimmt beispielsweise keine Argumente an und gibt das aktuelle Datum und die aktuelle Uhrzeit zurück. So verwenden Sie es: now()
.
Die Funktion round
nimmt ein Argument an, nämlich eine Zahl. So verwenden Sie es: round(3.2)
. Das Ergebnis ist 3
.
Es gibt zwei Möglichkeiten, herauszufinden, welche Argumente Sie gegebenenfalls angeben müssen:
- Im Informationsfeld neben dem Ausdruckseditor finden Sie einige Informationen zur von Ihnen erstellten Funktion. 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 suchen.
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 „string“ und „search_string“ in die Funktion eingeben. Das sind nur Namen für die Argumente, die Sie durch etwas 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 „super“ 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 enthalten ist. So funktionierts:
- Die Funktion
is_null()
prüft auf Kundenfeedback. - Als Nächstes wird dieses Ergebnis von der Funktion
if()
verwendet, um gegebenenfalls den Text des Kundenfeedbacks oder andernfalls den Text des Kundenkommentars zurückzugeben. - Schließlich verwendet die Funktion
contains()
den von der Funktionif()
zurückgegebenen Text und sucht darin nach dem Wort „super“.
Logisch bedeutet dieser Ausdruck: „Wenn es Kundenfeedback gibt, suche darin. Falls nicht, suchen Sie stattdessen in den Kundenkommentaren. In beiden Fällen sollten Sie nach dem Wort „great“ suchen.