Link

Nutzung

view: view_name {
dimension: field_name {
Link: {
label: „gewünschter Labelname“
url: „desired_url“
icon_url {
} s
Hierarchie
link
Mögliche Feldtypen
Dimension, messen

Akzeptiert
Verschiedene Parameter

Definition

Mit dem Parameter link können Sie Weblinks zu Dimensionen und Messwerten hinzufügen, damit Nutzer ähnliche Inhalte direkt von Looker aus aufrufen können. Die Form eines link-Parameters ist:

dimension: field_name {
  link: {
    label: "desired label name"
    url: "desired_url"
    icon_url: "url_of_an_image_file"
  }
  # Possibly more links
}

Der Parameter link hat mehrere untergeordnete Parameter:

  • label ist der Name des Links, der Nutzern angezeigt werden soll.
  • url ist die URL, zu der der Link führen soll. Sie können Liquid-Variablen verwenden, um die Verknüpfungen dynamisch zu gestalten, wie auf dieser Seite im Abschnitt Liquid-Variablen mit link verwenden beschrieben.
  • icon_url ist eine URL, auf die im Browser des Nutzers zugegriffen werden kann und die eine Bilddatei enthält. So können Nutzer auf einen Blick sehen, wohin der Link führt. Der Parameter icon_url ist nicht erforderlich, wenn kein Symbol angezeigt werden soll. Wenn Sie Unternehmenslogos benötigen, führen Sie eine Google Suche mit dem Muster http://www.google.com/s2/favicons?domain=[company website of interest] aus, um Bilder im Format .ico zu finden.

Beispiel

Ein E-Commerce-Unternehmen möchte, dass Mitarbeiter den Support von Warehouse direkt über Looker-Inhalte kontaktieren können, z. B. ein Look, der ausstehende Bestellungen des letzten Monats anzeigt. Der Look enthält Bestell-IDs und die Nutzer-IDs des Kunden, die mit den einzelnen Bestellungen verknüpft sind:

Sie können einen Link zur Dimension Auftrags-ID hinzufügen, um diese Aktion für den Nutzer verfügbar zu machen, der sich den Look ansieht:


dimension: id {
  primary_key: yes
  type: number
  sql: ${TABLE}.id ;;
  link: {
    label: "Contact Warehouse Support"
    url: "mailto:warehouse@brettcase.com"
  }
}

Der Nutzer kann den Link unter den Optionen im Linkmenü sehen, auf das er über das Dreipunkt-Menü zugreifen kann:

Wenn der Nutzer auf den Linknamen klickt, wird er zum verlinkten Inhalt weitergeleitet. In diesem Fall wird ein neuer Tab mit einem leeren E-Mail-Entwurf an die angegebene E-Mail-Adresse gesendet:

Das Beispiel oben enthält einen sql-Parameter. Wenn sql nicht angegeben ist, geht Looker davon aus, dass in der zugrunde liegenden Tabelle eine Spalte mit demselben Namen wie das Feld vorhanden ist.

Wenn ein Nutzer auf einen Link klickt, öffnet Looker den Link entweder in einem neuen Browsertab oder im selben Tab (bzw. bei eingebetteten Abfragen in iFrame):

  • Absolute Links wie https://example.looker.com werden in einem neuen Browsertab geöffnet.
  • Relative Links wie /dashboards/456 werden im selben Browsertab oder iFrame geöffnet. Nach dem Öffnen des Links kann der Nutzer im Browser auf Zurück klicken, um zur ursprünglichen Abfrage zurückzukehren.

Ein Nutzer muss die Berechtigung explore oder see_drill_overlay haben, um auf Links zugreifen zu können.

Der Parameter link unterstützt Liquid-Variablen, um Inhalte bis auf Zeilen- und Wertebene interaktiver zu gestalten. LookML unterstützt zwei Arten von Flüssigkeitsnutzungs-Tags: Werteingabe-Tags vom Typ {{ }} und {% %}-Tags für bedingte Logik.

Am häufigsten wird {{ }} in Verbindung mit den Liquid-Variablen value und _filters['view_name.field_name'] am häufigsten mit link verwendet. Das liegt daran, dass {{ }}-Tags Werte direkt an der Stelle eingeben, an der sie platziert sind, z. B. innerhalb einer URL.

In den Beispielen auf dieser Seite finden Sie Beispiele für die Verwendung von Liquid-{{ }}-Tags mit den Variablen value und _filters['view_name.field_name'], um Inhalte mit link interaktiv zu machen.

Links zu externen Inhalten

Angenommen, Sie haben die Dimension artist_name und der Nutzer soll die Möglichkeit haben, eine Google-Suche für diesen Künstler direkt über Looker auszuführen. Mit der liquiden Variablen value können Sie diese Option zu einer Dimension wie der folgenden hinzufügen:

dimension: artist_name {
  link: {
    label: "Google"
    url: "http://www.google.com/search?q={{ value }}"
    icon_url: "http://google.com/favicon.ico"
  }
}

Für diesen Dimensionslink ist die Nutzererfahrung wie folgt:

Über den Link wird ein neuer Browsertab geöffnet, über den der ausgewählte Künstler in der Google Suche gefunden werden kann. Der ausgewählte Künstlername wird in die URL eingefügt, auf der {{ value }} platziert wird.

Dieses Muster kann für andere externe Websites repliziert werden, auf die der Browser eines Nutzers Zugriff hat, z. B. Ticketverwaltungssysteme, Clientverwaltungssysteme und andere geschäftliche Tools, um die Navigation zwischen Webanwendungen zu vereinfachen.

Links zu Inhalten in Looker

Neben externen Websites können Sie den Parameter link verwenden, um Nutzer zu anderen relevanten Looker-Erkundungen, -Looks oder Dashboards für eine benutzerdefinierte Übung weiterzuleiten. Sie können dieselben Beispiele auch auf Links im LookML-Parameter html für Felder anwenden.

Dazu müssen Sie zuerst die URL eines vorhandenen explorativen Analysetools, eines vorhandenen Designs oder Dashboards erstellen, zu dem Sie eine Verknüpfung herstellen möchten. Anschließend können Sie bestimmte Elemente der URL, z. B. Filterwerte und Namen, durch {{ }}-Tags mit value- und _filters['view_name.field_name']-Variablen ersetzen. Die Variablen geben vom Nutzer ausgewählte Werte in die URL-Elemente ein, die sie ersetzen. Die Grundstruktur von Content-URLs sieht so aus:

  • Entdecken: https://instance_name.looker.com/explore/YOUR_MODEL_NAME/YOUR_EXPLORE_NAME?fields=view_name.field_name1,view_name.field_name2...
  • Look: https://instance_name.looker.com/Looks/YOUR_LOOK_NUMBER
  • Benutzerdefiniertes Dashboard: https://instance_name.looker.com/dashboards/YOUR_DASHBOARD_NUMBER?FILTER_NAME_1=VALUE&FILTER_NAME_2=VALUE
    • Sie können die URL für ein vorhandenes Dashboard abrufen, indem Sie die Browser-URL von der Dashboard-Seite kopieren.
    • Wenn Sie die alten Dashboards verwenden, wird für die URL im URL-Format dashboards-legacy anstelle von dashboards verwendet.
  • LookML-Dashboard: https://instance_name.looker.com/dashboards/YOUR_MODEL::YOUR_DASHBOARD
    • Sie können die URL für ein vorhandenes LookML-Dashboard abrufen, indem Sie die Browser-URL von der Dashboard-Seite kopieren.

Dashboard-Filter für benutzerdefinierte und LookML-Dashboards werden in URLs als filter_name angezeigt, wobei filter_name der auf dem Dashboard platzierte Name ist. Im Abschnitt Vorhandenen Filterwert an verknüpfte Inhalte übergeben finden Sie ein Beispiel.

Elemente von URLs, z. B. Filterwerte und -namen, werden mit Sonderzeichen URL-codiert, z. B. ? zum Anzeigen des Beginns eines Abfragestrings, & zum Trennen von Elementen und %20 für Leerzeichen. Ein Beispiel finden Sie im Abschnitt URL-Codierung für andere Vergleichsoperatoren.

Sobald du die URL des Inhalts hast, den du verknüpfen möchtest, kannst du den Wert eines Felds mit Liquid in jedes Element der URL einfügen. Verwende dazu die Variablen value oder _filters['view_name.field_name'] und {{ }}-Tags. Weitere Informationen zu den Bestandteilen einer Abfrage-URL finden Sie im Looker-Community-Thema unter URLs und Suchparameter verwenden.

Wir haben eine Dimension namens Stadt. Wir möchten, dass Nutzer auf eine andere vorhandene Funktion „Erkunden“ mit Messwerten für die Stadt und dem Filter Stadt zugreifen können. Wir möchten, dass der verknüpfte „Erkunden“ nach der Stadt gefiltert wird, die der Nutzer auswählt.

Gehen Sie dazu folgendermaßen vor:

  1. Rufen Sie die URL der vorhandenen explorativen Datenanalyse ab.
  2. Fügen Sie der Dimension Stadt den Parameter link hinzu:
  dimension: city {
  type: string
  sql: ${TABLE}.city ;;
  link: {
    label: "City Metrics Explore"
    url: "https://instance_name.looker.com/explore/ecommerce_model/order_items_explore?fields=users.city,orders.count,users.count&f[users.city]=&sorts=orders.count+desc&limit=500"
  }
  }

In diesem Fall wurde die URL auf limit=500 gekürzt. Damit werden die Ergebnisse von „Erkunden“ aus Gründen der Übersichtlichkeit auf 500 Zeilen begrenzt. Sie können auch die restliche URL einfügen. Dazu gehört in der Regel auch die URL-Codierung der Visualisierungseinstellungen.

  1. Fügen Sie das Liquid-Tag {{ value }} und die Variable an der Stelle ein, an der Sie den Wert in die URL einfügen möchten. In diesem Fall soll der Wert des Elements „Filter“ f[users.city]= im URL-String für „Entdecken“ enthalten sein. Es wird dann nach der vom Nutzer ausgewählten Stadt gefiltert:
dimension: city {
  type: string
  sql: ${TABLE}.city ;;
  link: {
    label: "City Metrics Explore"
    url: "https://instance_name.looker.com/explore/ecommerce_model/order_items_explore?fields=users.city,orders.count,users.count&f[users.city]={{ value }}&sorts=orders.count+desc&limit=500"
  }
}

Für die Dimension Stadt wird dann ein Linkmenü mit den drei Punkten Erkunden angezeigt.

Wenn ein Nutzer auf den Link klickt, wird er zur Seite Erkunden der Stadtmesswerte weitergeleitet, gefiltert nach der ausgewählten Stadt:

Vorhandene Filterwerte können auch bei der Verknüpfung mit Looker-Inhalten beibehalten werden, wie im folgenden Beispiel beschrieben.

Beispiel: Vorhandenen Filterwert an verlinkten Content übergeben

Eine weitere Liquid-Variable, die vom Parameter link unterstützt wird, ist _filters['view_name.field_name']. Diese Variable übernimmt die vorhandenen Werte, die für einen Filter eingegeben wurden, und übergibt sie an ein verknüpftes Explore, Dashboard oder Look.

Wenn Sie den Filter aus einem Dashboard übergeben, muss sich _filters['view_name.field_name'] auf einen Feldtypfilter beziehen, wie in der Dashboard-LookML oder der alten Dashboard-Benutzeroberfläche festgelegt.

In Content-URLs können Sie sehen, wo die Filterwerte angegeben sind, und diese durch die Variable _filters['view_name.field_name'] ersetzen. Informationen zu den Bestandteilen einer Abfrage-URL finden Sie im Looker-Community-Thema unter URLs und Suchparameter verwenden.

Hier ein Beispiel für eine Dimension, bei der die Variable _filters['view_name.field_name'] im Parameter link verwendet wird, um einen vorhandenen Filterwert für das Feld users.state zu übergeben:

dimension: name {
  link: {
    label: "Business Pulse By State Dashboard"
    url: "https://instance_name.looker.com/dashboards/694?State={{ _filters['users.state'] | url_encode }}"
  }
}

Wenn ein Nutzer in diesem Beispiel eine Abfrage nach der Dimension users.state filtert, wird das verknüpfte Dashboard automatisch nach denselben Zuständen gefiltert, die Sie in der ursprünglichen Abfrage ausgewählt haben. Wenn Sie in diesem Beispiel den Liquid-Filter url_encode einschließen, werden nicht URL-sichere Strings in prozentcodierte Strings umgewandelt. Dadurch wird sichergestellt, dass Filterwerte mit Sonderzeichen wie Leerzeichen oder Kommas an das verknüpfte Dashboard übergeben werden.

Im folgenden Beispiel hat der Nutzer eine Abfrage nach dem Bundesstaat „Kalifornien“ gefiltert. Über den Link wird ein Dashboard geöffnet, das bereits nach dem Bundesstaat Kalifornien gefiltert ist:

Das funktioniert auch, wenn Sie Filterwerte an verknüpfte Looks und Erkundungen übergeben:

dimension: name {
    link: {
      label: "Average Order Profit Look"
      url: "https://instance_name.looker.com/looks/249?&f[users.state]={{ _filters['users.state'] | url_encode }}"
    }
    link: {
      label: "User Facts Explore Explore"
      url: "https://instance_name.looker.com/explore/ecommerce/users?fields=users.id,users.name&f[users.state]={{ _filters['users.state'] | url_encode }}"
    }
  }

Sie können mehrere Filter übergeben, indem Sie & wie in den folgenden URLs dazwischen platzieren:

dimension: name {
  link: {
    label: "Business Pulse By State Dashboard"
    url: "https://instance_name.looker.com/dashboards/694?State={{ _filters['users.state'] | url_encode }}&Date={{ _filters['orders.date'] | url_encode }}"
  }
  link: {
    label: "Average Order Profit Look"
    url: "https://instance_name.looker.com/looks/249?&f[users.state]={{ _filters['users.state'] | url_encode }}&f[orders.date]={{ _filters['orders.date'] | url_encode }}"
  }
}

Verknüpfung mit Dashboards und Looks: Ein verknüpftes Dashboard oder Look muss mit einem Filter konfiguriert werden, der die angegebenen Filterwerte akzeptiert. Im Beispiel oben ist das verknüpfte Dashboard Business Pulse by State mit einem Filter für users.state namens „State“ konfiguriert, sodass der Filterwert _filters['users.state'] an das Dashboard übergeben werden kann. Wenn ein Dashboard oder Look keinen Filter hat, der die übergebenen Werte verwenden kann, funktioniert der Link zwar weiterhin, die Filterwerte werden jedoch nicht auf das Dashboard angewendet.

Informationen zum Erstellen von Dashboard-Filtern finden Sie auf den Dokumentationsseiten zu LookML-Dashboards erstellen und Benutzerdefinierte Dashboard-Filter hinzufügen und bearbeiten.

Wenn Ihr Looker-Administrator die Labs-Funktion Visuelle Aufschlüsselung aktiviert hat, können Sie die Darstellung, die in den Aufschlüsselungs-Overlays der Bereiche „Erkunden“, „Looks“ und „Legacy“ angezeigt wird, mithilfe des Parameters link und der Liquid-Variablen anpassen. Das neue Dashboard unterstützt die visuelle Aufschlüsselung mithilfe des Parameters link, ohne dass die Labs-Funktion Visuelle Details aktiviert sein muss.

Hier ein Beispiel für das Festlegen einer Aufschlüsselungsvisualisierung auf ein Streudiagramm:


  measure: count {
    type: count_distinct
    sql: ${id} ;;
    drill_fields: [created_date, total_sale_price]
    link: {
      label: "Drill as scatter plot"
      url: "
      {% assign vis_config = '{\\"type\\": \\"looker_scatter\\"}' %}
        \{\{ link \}\}&vis_config=\{\{ vis_config | encode_uri \}\}&toggle=dat,pik,vis&limit=5000"
    }
  }

Weitere Beispiele für die Anpassung von Visualisierungen von Aufschlüsselungen finden Sie im Hilfeartikel Leistungsstärkere Datenbohrungen.

Was bei der Verknüpfung von Looker-Inhalten zu beachten ist

Es kann vorkommen, dass Sie Filtervergleichsoperatoren neben ist gleich, mehrere Filter oder Escapezeichen in Links zu Looker-Inhalten einfügen müssen. In den folgenden Abschnitten finden Sie weitere Informationen zu diesen Anwendungsfällen.

URL-Codierung anderer Vergleichsoperatoren

Wenn Sie einen Vergleichsoperator in einen anderen verknüpften Filter als ist gleich (=) einfügen möchten, können Sie den Operator URL-Codierung verwenden.

Wenn Sie beispielsweise einen order_id-Filter für einen verknüpften Look verwenden möchten, der Werte enthält, die kleiner als (<) sind und das Feld order_id des Werts enthalten, auf den Sie klicken. In diesem Fall würden Sie das Operatorzeichen teilweise codieren (in diesem Fall %3E) und es der URL hinzufügen:

f[orders.order_id]=%3E{{ other_orders.order_id._value }}
Mehrere Filter einschließen

Sie können mehr als einen Filter auf verknüpfte Looks, Dashboards und Erkundungen anwenden, indem Sie ein Et-Zeichen (&) verwenden, um die einzelnen Filter zu trennen:

dimension: name {
  link: {
    label: "Drill Look"
    url:"/looks/looknumber?&f[users.state]={{ value }}[users.region]={{ users.region._value }}&f[users.age]={{ _filters['users.age'] | url_encode }}"
  }
}
Maskierung von Kommas

Sie können Kommas in verknüpften Werten mit der Variablen filterable_value maskieren, in der Sie normalerweise die Variable value verwenden.

Über den folgenden Link gelangen Sie zu einer Erkundung, mit der die Ergebnisse nach dem ausgewählten users.city-Wert gefiltert werden können:

dimension: city {
    type: string
    sql: ${TABLE}.city ;;
    link: {
        label: "Drill by City"
        url: "/explore/model_name/explore_name?fields=users.email,users.id&f[users.city]={{ value }}"
    }
}

Wenn der Nutzer auf Santa Cruz, CA klickt, um die Ergebnisse für diese Stadt zu filtern, werden alle Ergebnisse zurückgegeben, die entweder Santa Cruz oder CA enthalten.

Wenn filterable_value anstelle von value verwendet wird, wird das Komma maskiert:

dimension: city {
    type: string
    sql: ${TABLE}.city ;;
    link: {
        label: "Drill by City"
        url: "/explore/model_name/explore_name?fields=users.email,users.id&f[users.city]={{ filterable_value }}"
    }
}

Die resultierende Aufschlüsselung gibt alle Ergebnisse zurück, die den gesamten Stringwert Santa Cruz, CA enthalten.

Wenn Sie einen Filterwert hartcodieren möchten, der ein Komma in einer Aufschlüsselungs-URL enthält, können Sie das Komma mit einem Escapezeichen versehen, indem Sie den Wert in doppelte Anführungszeichen setzen und dann mit einem Schrägstrich (/) maskieren:

dimension: city {
    type: string
    sql: ${TABLE}.city;;
    link: {
        label: "Drill by City"
        url: "/explore/model_name/explore_name?fields=users.email,users.id&f[users.city]=\"Santa Cruz, CA\"&sorts=users.email"
    }
}

Weitere Informationen

  • Weitere Informationen zu erweiterten benutzerdefinierten Aufschlüsselungen finden Sie im Hilfeartikel Leistungsstärkere Datenbohrungen.
  • Weitere Beispiele zur Verwendung von {{ value }} in Links finden Sie in der Dokumentation zu Liquid-Variablen.