Looker-Ausdrücke erstellen

Wenn Ihr Administrator die Labs-Funktion Benutzerdefinierte Felder aktiviert hat, können Sie mit den folgenden Funktionen allgemeine Funktionen schnell ausführen, ohne Looker-Ausdrücke zu erstellen:

Looker-Ausdrücke

Looker-Ausdrücke (manchmal auch als Lexp bezeichnet) werden verwendet, um Berechnungen für Folgendes auszuführen:

Ein Looker-Ausdruck besteht aus einer Kombination dieser 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 vorhanden ist.

  • Eine Konstante: Eine Konstante ist ein unveränderlicher Wert, den Sie angeben. Eine Zahl wie 7 oder ein String wie Completed sind Konstanten.

  • Ein Looker-Feld: Ein Verweis auf ein Looker-Feld, das Dimensionen, Maßeinheiten und Tabellenberechnungen enthält.

  • Ein Looker-Operator: Es gibt mehrere Arten von Operatoren, die auf der Dokumentationsseite zu Looker-Funktionen und -Operatoren aufgeführt sind:

    • Mathematische Operatoren (z. B. +, -, * und /)
    • Vergleichsoperatoren (z. B. =, > und <=)
    • Logische Operatoren (z. B. AND, OR und NOT)
  • Eine Looker-Funktion: Diese ähneln denen von Excel-Funktionen. Mit Funktionen können Sie Ihre Daten auf komplexe Weise transformieren oder referenzieren. Alle verfügbaren Funktionen sind auf der Dokumentationsseite zu Looker-Funktionen und -Operatoren aufgeführt.

Looker-Ausdrücke erstellen

Für Tabellenberechnungen, benutzerdefinierte Felder und benutzerdefinierte Filter wird der Looker-Ausdruckseditor verwendet. Während Sie den Ausdruck eingeben, werden Sie von Looker mit Funktionen, Operatoren und Feldnamen gefragt, die Sie möglicherweise verwenden möchten.

Praktischer Tipp: Wenn Sie ein Looker-Entwickler sind, der einen Datentest erstellt, um die Logik Ihres Modells zu überprüfen, können Sie mit dem Looker-Ausdruckseditor einen Looker-Ausdruck erstellen und den Ausdruck dann in den expression-Parameter Ihres Datentests kopieren.

Alle Vorschläge werden angezeigt

Rufen Sie den Editor für Looker-Ausdrücke in einem explorativen Analysetool auf, indem Sie Tabellenberechnungen, benutzerdefinierte Felder oder benutzerdefinierte Filter erstellen.

Geben Sie einen Gruppenbereich ein, um eine Liste aller Felder, Funktionen und Operatoren aufzurufen, aus denen Sie auswählen können. Felder, die derzeit in einem Tab „Entdecken“ verwendet werden, sind mit einem schwarzen Kreis markiert und werden oben angezeigt.

Beginnen Sie mit der Eingabe, um die Liste auf die für Sie interessanten Elemente zu kürzen.

Im Editor für benutzerdefinierte Felder werden die aktuell verwendeten Felder angezeigt, sofern sie mit der Funktion des benutzerdefinierten Felds kompatibel sind.

Feld hinzufügen

Wenn Sie ein Looker-Feld in Ihren Ausdruck aufnehmen möchten, beginnen Sie mit der Eingabe des Feldnamens. Während der Eingabe wird die Suche im Editor auf eine Liste von Feldern und Funktionen beschränkt, die Ihre Eingaben enthalten. Sie können den Namen des Felds so eingeben, wie er auf der Seite „Erkunden“ erscheint. Sie können aber auch den LookML-Namen verwenden, wenn Sie ihn kennen.

Wenn Sie ein Feld aus der Liste auswählen, fügt Looker es Ihrem Ausdruck mit dem LookML-Namen im Format ${view_name.field_name} hinzu. Dadurch wird sichergestellt, dass alle Felder in Ihrem Ausdruck eindeutige Namen haben.

Eine ausführlichere Anleitung zur Verwendung von Feldern finden Sie im Abschnitt Felder verwenden auf dieser Seite.

Gesamtsummen hinzufügen

Wenn Sie einen Ausdruck auf Grundlage einer explorativen Datenanalyse erstellen, in der Sie die Gesamtsummen angezeigt haben, können Sie auch Summen für Spalten und Zeilen in Ihren Ausdruck aufnehmen. Die Spaltensummen werden im Editor mit dem Wort Total (Vor) vor der LookML-Wiederholung des Feldnamens angezeigt. Der erste Vorschlag wird in der Spalte Anzahl angezeigt:

Der LookML-Name für Summen hat das Format ${view_name.field_name:total}, wobei :total am Ende des Feldnamens hinzugefügt wird. Bei Summen in der Zeile wird im Editor die Zeile Total Totals (Zeilensummen) vor dem Feldnamen angezeigt. Im Feld „LookML“ des Feldes wird :row_total am Ende des Feldnamens hinzugefügt.

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. Sie können dieses Verhalten jedoch mithilfe von Klammern überschreiben. Sie können auch Vergleichsoperatoren wie >, = und <= sowie mathematische Operatoren wie + und * verwenden.

Wenn sich der Cursor auf einem Operator befindet, werden im Informationsbereich rechts neben dem Ausdruck Hinweise zur richtigen Verwendung angezeigt.

Eine ausführlichere Anleitung zur Verwendung von Operatoren finden Sie im Abschnitt Operatoren verwenden auf dieser Seite.

Funktionen hinzufügen

Geben Sie den Namen der Funktion ein, um eine Looker-Funktion in Ihren Ausdruck aufzunehmen. Während der Eingabe wird die Suche im Editor auf eine Liste von Feldern und Funktionen beschränkt, die Ihre Eingaben enthalten.

Funktionen können aus Argumenten oder Variablen bestehen, die einen bestimmten Typ erfordern, z. B. ein Feld, eine Zahl oder „Ja“ oder „Nein“. Wenn sich der Cursor auf einer Funktion befindet, können Sie sich die Notizen ansehen, die rechts neben dem Ausdruck im Informationsbereich angezeigt werden, um zu verstehen, welche Argumente Sie geben müssen und welcher Typ das sein muss.

Die vollständige Liste der Funktionen in Looker finden Sie auf der Dokumentationsseite Looker-Funktionen und -Operatoren.

Eine ausführlichere Anleitung zur Verwendung von Funktionen finden Sie im Abschnitt Funktionen verwenden auf dieser Seite.

Fehlerhinweise und der Infobereich verwenden

Während Sie einen Ausdruck eingeben, wird rechts ein Informationsbereich angezeigt. Dieser Bereich enthält Dokumentation und Vorschläge, insbesondere wenn Ihr Ausdruck einen Fehler enthält.

Der Editor bietet Folgendes:

  • Hervorhebung von Fehlern:Looker, die noch nicht korrekt sind, wird rot unterstrichen.

  • Vorschläge und Fehlerdetails:Im oberen Bereich des Informationsbereichs finden Sie Vorschläge dazu, was als Nächstes in den Ausdruck aufgenommen werden kann. Wenn ein Fehler auftritt, wird der Grund dafür erläutert. Bei mehreren Fehlern hängt der angezeigte Fehler von der Position Ihres Cursors ab.

  • Dokumentation: Im unteren Teil des Infobereichs wird die Dokumentation zu der Funktion oder dem Operator angezeigt, mit der Sie basierend auf Ihrer Cursorposition arbeiten. Wenn Sie beispielsweise das erste Argument einer if()-Funktion eingeben, liefert Looker die Informationen, die mit dem ersten Argument als wahr oder falsch ausgewertet werden sollen. Sie können auf den Funktionsnamen in diesem Abschnitt klicken, um die Dokumentation für diese Funktion aufzurufen.

Einschließlich Kommentaren

Sie können Kommentare in Looker-Ausdrücke aufnehmen, indem Sie die Kommentarzeile mit # beginnen:

Felder verwenden

Manchmal möchten Sie den Wert eines Felds (eine Dimension, ein Maß oder eine Tabellenberechnung) in einem Ausdruck verwenden. Sie können den Wert des Felds auf einen anderen Wert übertragen oder auf einen bestimmten Wert prüfen oder in eine Funktion einfügen.

Wie oben beschrieben geben Sie den Namen des Felds in den Ausdruckseditor ein. Looker hilft Ihnen, den richtigen Verweis zu finden. Wenn Sie einem Ausdruck ein Feld hinzufügen, verwendet Looker die LookML-ID des Felds, die wie ${view_name.field_name} aussieht. Diese Kennung stimmt nicht immer mit dem Namen des Feldes in der Feldauswahl überein. Es ist jedoch in Ordnung, wenn Sie nicht wissen, was die Kennung ist. Geben Sie den Feldnamen so ein, wie er in der Feldauswahl erscheint. Im Ausdruckseditor sehen Sie dann den Feldauswahlnamen und die LookML-Kennung zusammen.

Es gibt mehrere Möglichkeiten, einen Wert abzurufen:

  • Wert aus derselben Zeile erhalten:Die einfachste Möglichkeit, ein Feld zu verwenden, besteht darin, direkt darauf zu verweisen. Ihr Ausdruck könnte beispielsweise ${product.category} enthalten. Dadurch fordern Sie für jede Zeile die Produktkategorie aus dieser Zeile an.

  • Wert aus einer anderen Zeile abrufen: Sie können einen Wert auch aus einer anderen Zeile abrufen. Wenn Sie beispielsweise die Logik für eine bestimmte Zeile auswählen möchten, verwenden Sie die Produktkategorie aus der vorherigen Zeile." Dazu können Sie eine Offset-Funktion verwenden (siehe diese Liste von Positionsfunktionen). Beispiel: offset(${product.category}, -1).

  • Wert aus einer Spalte mit Pivoting abrufen: Sie können auch Werte aus Spalten mit Pivoting abrufen. Beispiel: Sie möchten die Logik für jede Zeile anhand des Gesamtumsatzes aus der ersten Pivot-Spalte abrufen." Wenn Sie mit Spalten mit Pivoting arbeiten möchten, müssen Sie Pivot-Funktionen verwenden. Weitere Informationen Beispiel: pivot_index(${order.total_sales}, 1).

  • Summe aus einer Zeile oder Spalte abrufen: Wenn Sie der Spalte Erkunden Summenwerte hinzufügen, können Sie die Summenwerte der Spalte oder Zeile abrufen. Fügen Sie dazu für den Feldnamen :total (für Summenwerte der Spalte) oder :row_total (für Summenzeilen) im Format ${field_name:total} hinzu. Wenn Sie beispielsweise einen Prozentsatz der Gesamtsumme für Orders sehen möchten, können Sie eine Tabellenberechnung wie die folgende erstellen: ${orders.count} / ${orders.count:total}.

Wenn Sie in einem benutzerdefinierten Filter auf Felder verweisen, können Sie nur Dimensionen und keine Messwerte, Summen oder Tabellenberechnungen verwenden. Außerdem können Sie nicht auf Werte in anderen Zeilen oder Pivot-Spalten verweisen. Dies liegt daran, dass Looker in der Lage sein muss, Ihren Filter in SQL umzuwandeln, damit Ihre Daten abgerufen werden können.

In benutzerdefinierten Filtern oder benutzerdefinierten Feldern werden nicht alle Optionen für Datum und Uhrzeit unterstützt. Weitere Informationen finden Sie in der Beschreibung der Parametergruppe.

Wenn Sie Felder in einer Tabellenberechnung referenzieren, können Sie auf einen beliebigen Wert aus einer beliebigen Dimension, Kennzahl oder einer anderen Tabellenberechnung verweisen.

Operatoren verwenden

Looker-Ausdrücke können logische, Vergleichs- und mathematische Operatoren zum Erstellen verschiedener Bedingungen enthalten:

  • Logische Operatoren (z. B. AND, OR und NOT)
  • Vergleichsoperatoren (z. B. > und <)
  • Mathematische Operatoren (z. B. + und -)

Sofern nicht anders mit Klammern angegeben, 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 ausgewertet 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. Beispiel: my_function(). Eventuell müssen die Informationen in diesen Klammern durch Kommas getrennt eingegeben werden. 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 liefert Ihnen das aktuelle Datum und die aktuelle Uhrzeit. Beispiel: now().

Die round-Funktion nimmt ein Argument, eine Zahl. Beispiel: round(3.2). Das Ergebnis ist 3.

Es gibt zwei Möglichkeiten herauszufinden, welche Argumente Sie gegebenenfalls angeben müssen:

  • Der Informationsbereich rechts neben dem Ausdruckseditor bietet eine Dokumentation zur Funktion, die Sie schreiben. Sie können auf den Namen der Funktion klicken, um die zugehörige Dokumentation aufzurufen.
  • Sie können auch direkt die Dokumentationsseite zu Looker-Funktionen und -Operatoren aufrufen und die gewünschte Funktion nachschlagen.

Sehen Sie sich die Funktion contains an, 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.

Sie sehen, dass zwei Argumente erforderlich sind. Sie haben die Namen string und search_string. Das bedeutet aber nicht, dass Sie das genaue Wort „&stringt“ und den „search_string“ in die Funktion eingeben müssen. Dies sind nur Namen für die Argumente, die Sie durch etwas ersetzen. Wenn wir den Zweck lesen, sehen wir, dass string ein Feld oder ein anderer Wert sein soll, in dem wir suchen möchten, während search_string das ist, wonach wir suchen möchten. Hier ein Beispiel:

contains(${customer.feedback_text}, "great")

Wenn im Kundenfeedback das Wort „great“ enthalten ist, wird für die Funktion Yes ausgegeben. 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")

Hier haben wir die is_null-Funktion in eine if-Funktion eingebettet, die sich selbst in einer contains-Funktion befindet. Das funktioniert so:

  1. Die Funktion is_null() sucht nach Kundenfeedback-Text.
  2. Als Nächstes verwendet die Funktion if() dieses Ergebnis und gibt gegebenenfalls den Text für das Kundenfeedback zurück. Andernfalls wird der Text für den Kundenkommentar zurückgegeben.
  3. Schließlich verwendet die contains()-Funktion den von der if()-Funktion zurückgegebenen Text und sucht nach dem Wort "great".

Logisch bedeutet dieser Ausdruck: "Ist Kundenfeedback vorhanden, suchen Sie danach. Falls nicht, suchen Sie stattdessen in den Kommentaren der Kunden. Suchen Sie in beiden Fällen nach dem Wort 'great' ".

Für benutzerdefinierte Filter und benutzerdefinierte Felder können die meisten Funktionen verwendet werden, jedoch nicht einige mathematische Funktionen oder Funktionen, die auf andere Zeilen oder Pivot-Spalten verweisen. Auf der Seite Looker-Funktionen und -Operatoren erfahren Sie, welche Funktionen Sie verwenden können.

Sie können jede Funktion in einer Tabellenberechnung verwenden. Sie können auch eine beliebige Funktion im Parameter expression eines Datentests verwenden, da der Parameter expression im Wesentlichen eine Tabellenberechnung ist, die zu einem Ja (boolesch) führt.