Link

Nutzung

view: view_name {
  dimension: field_name {
    link: {
      label: "desired label name"
      url: "desired_url"
      icon_url: "url_of_an_image_file"
    }
    # Possibly more links
  }
}
Hierarchie
link
Mögliche Feldtypen
Dimension, Messwert

Akzeptiert
Verschiedene Parameter

Definition

Mit dem Parameter link können Sie Weblinks zu Dimensionen und Measures hinzufügen und so Nutzenden ermöglichen, entsprechende Inhalte direkt in Looker aufzurufen. Ein link-Parameter hat folgendes Format:

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 Links dynamisch zu gestalten. Weitere Informationen finden Sie im Abschnitt Liquid-Variablen mit link verwenden auf dieser Seite.
  • icon_url ist eine URL, die für den Browser des Nutzers zugänglich ist und eine Bilddatei enthält. So können Nutzer auf einen Blick erkennen, wohin sie der Link führt. Der Parameter icon_url ist nicht erforderlich, wenn Sie kein Symbol verwenden möchten. Wenn Sie Unternehmenslogos benötigen, können Sie in der Google Suche nach dem Muster http://www.google.com/s2/favicons?domain=[company website of interest] suchen, um Bilder im .ico-Format zu finden.

Beispiel

Ein E-Commerce-Unternehmen möchte, dass Mitarbeiter den Lager-Support direkt über Looker-Inhalte kontaktieren können, z. B. über einen Look mit ausstehenden Bestellungen des letzten Monats. Der Look enthält Bestell-IDs und die Nutzer-ID des Kunden, der mit jeder Bestellung verknüpft ist.

Sie können einen Link zur Dimension Bestell-ID hinzufügen, damit diese Aktion für den Nutzer verfügbar ist, der sich den Look ansieht:


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

Im Look wird der Link Warehouse-Support kontaktieren in den Optionen des Linkmenüs angezeigt. Das Linkmenü wird aufgerufen, indem der Nutzer auf das Dreipunkt-Menü für einen der Werte des Felds Auftrags-ID klickt.

Wenn der Nutzer auf den Linknamen klickt, wird er zum verknüpften Inhalt weitergeleitet. In diesem Fall wird ein neuer Tab mit einem leeren E‑Mail-Entwurf geöffnet, der an die angegebene E‑Mail-Adresse adressiert ist.

Wenn ein Nutzer auf einen Link klickt, wird er in Looker entweder in einem neuen Browsertab oder im selben Tab (oder iFrame für eingebettete Abfragen) geöffnet:

  • 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. Nachdem der Link geöffnet wurde, kann der Nutzer im Browser auf Zurück klicken, um zur ursprünglichen Anfrage zurückzukehren.

Ein Nutzer muss entweder die Berechtigung explore oder see_drill_overlay haben, um auf Links zuzugreifen.

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

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

In den Beispielen auf dieser Seite sehen Sie, wie Sie Liquid-{{ }}-Tags mit den Variablen value und _filters['view_name.field_name'] verwenden, um Inhalte mit link interaktiv zu gestalten.

Links zu externen Inhalten

Angenommen, Sie haben eine Dimension artist_name und möchten, dass Nutzer direkt in Looker eine Google-Suche nach diesem Künstler ausführen können. Sie können die value-Liquid-Variable verwenden, um diese Option einer Dimension hinzuzufügen, wie im Folgenden gezeigt:

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

Wenn ein Nutzer auf das Dreipunkt-Menü für einen Wert des Felds Artist Name (Künstlername) klickt, wird in Looker das Menü Links angezeigt, das den Link enthält, der im Beispiel-LookML erstellt wurde. Über den Link wird ein neuer Browsertab mit einer Google-Suche nach dem ausgewählten Künstler geöffnet. Der ausgewählte Künstlername wird in die URL eingefügt, an der sich {{ value }} befindet.

Dieses Muster kann für andere externe Websites wiederholt werden, auf die der Browser eines Nutzers zugreifen kann, z. B. Ticketverwaltungssysteme, Clientverwaltungssysteme und andere geschäftsbezogene Tools, um die Navigation zwischen Webanwendungen zu erleichtern.

Links zu Inhalten in Looker

Zusätzlich zu externen Websites können Sie mit dem Parameter link Nutzer zu anderen relevanten Looker-Explores, Looks oder Dashboards weiterleiten, um ein benutzerdefiniertes Aufschlüsseln zu ermöglichen. Sie können dieselben Beispiele auch auf Links im LookML-Parameter html für Felder anwenden.

Zuerst benötigen Sie die URL eines vorhandenen Explores, Looks oder Dashboards, auf das Sie verlinken 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 fügen nutzerdefinierte Werte in die URL-Elemente ein, die sie ersetzen. Die grundlegende Struktur von Inhalts-URLs sieht so aus:

  • Erkunden: /explore/YOUR_MODEL_NAME/YOUR_EXPLORE_NAME?fields=view_name.field_name1,view_name.field_name2...
    • Sie können die Explore-URL für vorhandene Explores abrufen, indem Sie das Zahnradsymbol für die Option Erweiterte URL auswählen.
    • „Explore“-Filter werden in URLs als f[view_name.field_name] angezeigt. Ein Beispiel finden Sie im Abschnitt Mit einem zugehörigen Explore verknüpfen.
  • Look: /looks/YOUR_LOOK_NUMBER
  • Benutzerdefiniertes Dashboard: /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 Dashboardseite kopieren.
  • LookML-Dashboard: /dashboards/YOUR_MODEL::YOUR_DASHBOARD

    • Sie können die URL für ein vorhandenes LookML-Dashboard abrufen, indem Sie die Browser-URL von der Dashboardseite kopieren.

Dashboard-Filter für benutzerdefinierte Dashboards und LookML-Dashboards werden in URLs als filter_name angezeigt, wobei filter_name der Name des Filters ist, der im Dashboard platziert wurde. Ein Beispiel finden Sie im Abschnitt Vorhandenen Filterwert an verknüpfte Inhalte übergeben.

Elemente von URLs, z. B. Filterwerte und Namen, werden URL-codiert. Dabei werden Sonderzeichen wie ? für den Beginn eines Abfragestrings, & zum Trennen von Elementen und %20 für Leerzeichen verwendet. Ein Beispiel finden Sie im Abschnitt URL-Codierung für andere Vergleichsoperatoren.

Sobald Sie die URL des Inhalts haben, auf den Sie verlinken möchten, können Sie mit Liquid den Wert eines Felds in ein beliebiges Element der URL einfügen. Verwenden Sie dazu die Variablen value oder _filters['view_name.field_name'] und die Tags {{ }}. Weitere Informationen zu den Teilen einer Abfrage-URL finden Sie im Looker-Communitybeitrag Using URLs and query parameters.

Wir haben eine Dimension namens Ort. Nutzer sollen auf ein anderes vorhandenes Explore mit Stadtmesswerten und einem City-Filter zugreifen können. Das verknüpfte Explore soll nach der vom Nutzer ausgewählten Stadt gefiltert werden.

Gehen Sie dazu folgendermaßen vor:

  1. Rufen Sie die URL des vorhandenen Explores ab, in das Sie aufschlüsseln möchten.
  2. Fügen Sie der Dimension Stadt einen link-Parameter hinzu:
  dimension: city {
  type: string
  sql: ${TABLE}.city ;;
  link: {
    label: "City Metrics Explore"
    url: "/explore/ecommerce_model/order_items_explore?fields=users.city,orders.count,users.count&f[users.city]=&sorts=orders.count+desc&limit=500"
  }
  }

Hier wurde die URL zur besseren Übersicht auf limit=500 gekürzt. Dadurch werden die Explore-Ergebnisse auf 500 Zeilen begrenzt. Sie können bei Bedarf den Rest der URL einfügen, der in der Regel die URL-Codierung der Visualisierungseinstellungen enthält.

  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, an dem sich das Filterelement f[users.city]= befindet, in den URL-String für das Explore eingefügt werden, damit es nach der vom Nutzer ausgewählten Stadt gefiltert wird:
dimension: city {
  type: string
  sql: ${TABLE}.city ;;
  link: {
    label: "City Metrics Explore"
    url: "/explore/ecommerce_model/order_items_explore?fields=users.city,orders.count,users.count&f[users.city]={{ value }}&sorts=orders.count+desc&limit=500"
  }
}

In der Dimension City wird dann ein Dreipunkt-Menü mit der Option City Metrics Explore angezeigt.

Wenn ein Nutzer auf den Link klickt, wird er zum City Metrics Explore weitergeleitet, das nach der ausgewählten Stadt gefiltert ist.

Sie können auch vorhandene Filterwerte beibehalten, wenn Sie Links zu Looker-Inhalten erstellen. Das wird im folgenden Beispiel beschrieben.

Beispiel: Vorhandenen Filterwert an verknüpfte Inhalte ü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.

In den Inhalts-URLs sehen Sie, wo die Filterwerte angegeben sind, und können sie durch Ihre _filters['view_name.field_name']-Variable ersetzen. Informationen zu den Teilen einer Abfrage-URL finden Sie im Looker-Communitybeitrag URLs und Abfrageparameter verwenden.

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

dimension: name {
  link: {
    label: "Business Pulse By State Dashboard"
    url: "/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 Bundesstaaten gefiltert, die in der ursprünglichen Abfrage ausgewählt wurden. Wenn Sie in diesem Beispiel den Liquid-Filter url_encode einfügen, werden nicht für URLs zulässige Strings in prozentcodierte Strings umgewandelt. So können Filterwerte mit Sonderzeichen wie Leerzeichen oder Kommas an das verknüpfte Dashboard übergeben werden.

Angenommen, ein Nutzer hat eine Anfrage nach dem Bundesstaat „Kalifornien“ gefiltert. Wenn der Nutzer auf das Dreipunkt-Menü neben einem Wert für das Feld Name klickt, wird im Menü Links ein Link zum Dashboard Business Pulse by State angezeigt. Wenn der Nutzer auf diesen Link klickt, wird das Dashboard Business Pulse by State bereits nach dem Bundesstaat „Kalifornien“ gefiltert.

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

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

Sie können mehrere Filter übergeben, indem Sie & zwischen ihnen einfügen, wie in den folgenden URLs:

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

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

Wenn Ihr Looker-Administrator die Funktion Visuelles Aufschlüsseln aktiviert hat, können Sie die Visualisierung anpassen, die in den Drill-Overlays von Explores und Looks angezeigt wird. Verwenden Sie dazu den Parameter link und Liquid-Variablen. In Dashboards wird die visuelle Aufschlüsselung mit dem Parameter link unterstützt, ohne dass die Funktion Visuelle Aufschlüsselung aktiviert werden muss.

Hier sehen Sie ein Beispiel für das Festlegen einer Drilldown-Visualisierung 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 das Anpassen von Drilldown-Visualisierungen finden Sie auf der Seite Optimierte Datenaufschlüsselung.

Wichtige Punkte beim Verknüpfen mit Looker-Inhalten

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

URL-Codierung anderer Vergleichsoperatoren

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

Wenn Sie beispielsweise einen order_id-Filter für einen verknüpften Look erstellen möchten, der Werte enthält, die kleiner als (<) das order_id-Feld sind, das dem Wert entspricht, auf den Sie klicken, würden Sie das Operatorzeichen (in diesem Fall %3C) teilweise codieren und der URL hinzufügen:

f[orders.order_id]=%3C{{ other_orders.order_id._value }}
Mehrere Filter einbeziehen

Auf verknüpfte Looks, Dashboards und Explores können mehrere Filter angewendet werden. Trennen Sie die einzelnen Filter dazu mit einem kaufmännischen Und-Zeichen (&):

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 }}"
  }
}
Kommas maskieren

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

Der folgende Link führt zu einem Explore, in dem die Ergebnisse nach dem ausgewählten users.city-Wert gefiltert werden:

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 nach dieser 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 }}"
    }
}

Der resultierende Drilldown gibt alle Ergebnisse zurück, die den gesamten Stringwert Santa Cruz, CA enthalten.

Wenn Sie einen Filterwert, der ein Komma enthält, in eine Drilldown-URL einfügen möchten, können Sie das Komma maskieren, indem Sie den Wert in doppelte Anführungszeichen setzen und diese dann mit einem umgekehrten 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"
    }
}

Zusätzliche Ressourcen

  • Weitere erweiterte Beispiele für benutzerdefinierte Aufschlüsselungen finden Sie auf der Seite Optimierte Datenaufschlüsselung.
  • Weitere Beispiele für die Verwendung von {{ value }} in Links finden Sie auf der Dokumentationsseite Liquid-Variablen.

Wichtige Punkte

Wenn eine Dimension einen link-Parameter enthält, der auf ein anderes Feld verweist, kann dieses zusätzliche Feld dem zugrunde liegenden SQL-Code einer Abfrage hinzugefügt werden, in der die Dimension verwendet wird. Wenn das referenzierte Feld nicht in der Visualisierung der Abfrage vorhanden ist und die Visualisierung ein Tabellendiagramm mit manuell neu angeordneten Spalten ist, kann sich das auf die Spaltenreihenfolge in einigen heruntergeladenen Formaten auswirken.