link

Utilisation

view: view_name {
  dimension: field_name {
    link: {
      label: "desired label name"
      url: "desired_url"
      icon_url: "url_of_an_image_file"
    }
    # Possibly more links
  }
}
Hiérarchie
link
Types de champs possibles
Dimension, Mesure

Acceptation
Différents paramètres

Définition

Le paramètre link vous permet d'ajouter des liens Web à des dimensions et à des mesures afin que les utilisateurs puissent facilement accéder au contenu associé directement depuis Looker. La forme d'un paramètre link est la suivante :

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

Le paramètre link comporte plusieurs paramètres enfants :

  • label correspond au nom du lien que vous souhaitez afficher aux utilisateurs.
  • url correspond à l'URL vers laquelle vous souhaitez que le lien redirige. Vous pouvez utiliser des variables Liquid pour rendre les liens dynamiques, comme décrit dans la section Utiliser des variables Liquid avec link sur cette page.
  • icon_url est une URL, accessible au navigateur de l'utilisateur, qui contient un fichier image. Cela permet aux utilisateurs de comprendre plus facilement, en un coup d'œil, où le lien les mènera. Le paramètre icon_url n'est pas obligatoire si vous ne souhaitez pas utiliser d'icône. Si vous avez besoin de logos d'entreprise, essayez d'effectuer une recherche Google à l'aide du modèle http://www.google.com/s2/favicons?domain=[company website of interest] pour trouver des images au format .ico.

Exemple

Une entreprise de commerce électronique souhaite que ses employés puissent contacter l'assistance de l'entrepôt directement à partir du contenu Looker, par exemple un Look affichant les commandes en attente du mois dernier. Le Look contient les ID de commande et l'ID utilisateur du client associé à chaque commande.

Vous pouvez ajouter un lien à la dimension Orders ID pour rendre cette action disponible à l'utilisateur qui consulte le Look :


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

Dans le Look, l'utilisateur verra le lien Contact Warehouse Support parmi les options du menu de liens, accessible en cliquant sur le menu à trois points pour l'une des valeurs du champ Orders ID.

En cliquant sur le nom du lien, l'utilisateur est redirigé vers le contenu associé. Dans ce cas, il s'agit d'un nouvel onglet contenant un brouillon d'e-mail vide adressé à l'adresse e-mail spécifiée.

Lorsqu'un utilisateur clique sur un lien, Looker l'ouvre dans un nouvel onglet de navigateur ou dans le même onglet (ou iframe, pour les requêtes intégrées) :

  • Les liens absolus, tels que https://example.looker.com, s'ouvrent dans un nouvel onglet de navigateur.
  • Les liens relatifs, tels que /dashboards/456, s'ouvrent dans le même onglet de navigateur ou iframe. Une fois le lien ouvert, l'utilisateur peut cliquer sur Retour dans le navigateur pour revenir à la requête d'origine.

Un utilisateur doit disposer de l'autorisation explore ou see_drill_overlay pour accéder aux liens.

Le paramètre link est compatible avec les variables Liquid pour rendre le contenu encore plus interactif au niveau des lignes et des valeurs. LookML est compatible avec deux types de tags d'utilisation Liquid : les tags d'entrée de valeur {{ }} et les tags de logique conditionnelle {% %}.

Parmi les deux, {{ }}, associé aux value et _filters['view_name.field_name'] variables Liquid, est le plus souvent utilisé avec link. En effet, les tags {{ }} saisissent directement les valeurs là où elles sont placées, par exemple dans une URL.

Consultez les exemples sur cette page pour découvrir comment utiliser les tags Liquid {{ }} avec les variables value et _filters['view_name.field_name'] afin de rendre le contenu interactif avec link.

Lier du contenu externe

Supposons, par exemple, que vous ayez une dimension artist_name et que vous souhaitiez que l'utilisateur ait la possibilité d'effectuer une recherche Google pour cet artiste directement depuis Looker. Vous pouvez utiliser la value variable Liquid pour ajouter cette option à une dimension comme suit :

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

Lorsqu'un utilisateur clique sur le menu à trois points pour une valeur du champ Artist Name, Looker affiche le menu Links, qui inclut le lien créé dans l'exemple LookML. Le lien ouvre un nouvel onglet de navigateur vers une recherche Google pour l'artiste sélectionné. Le nom de l'artiste sélectionné est inséré dans l'URL à l'endroit où {{ value }} est placé.

Ce modèle peut être reproduit pour d'autres sites Web externes auxquels le navigateur d'un utilisateur a accès, tels que les systèmes de gestion des tickets, les systèmes de gestion des clients et d'autres outils liés à l'entreprise, afin de faciliter la navigation entre les applications Web.

Lier du contenu dans Looker

En plus des sites externes, vous pouvez utiliser le paramètre link pour rediriger les utilisateurs vers d'autres explorations, Looks ou tableaux de bord Looker pertinents pour une expérience d'exploration personnalisée. Vous pouvez également appliquer les mêmes exemples aux liens dans le paramètre LookML html pour les champs.

Pour commencer, vous devez obtenir l'URL d'une exploration, d'un Look ou d'un tableau de bord existant vers lequel vous souhaitez créer un lien. Vous pouvez ensuite remplacer des éléments spécifiques de l'URL, tels que les valeurs et les noms de filtre, par des tags {{ }} contenant value et _filters['view_name.field_name'] variables. Les variables saisissent les valeurs sélectionnées par l'utilisateur dans les éléments d'URL qu'elles remplacent. La structure de base des URL de contenu est la suivante :

  • Exploration: /explore/YOUR_MODEL_NAME/YOUR_EXPLORE_NAME?fields=view_name.field_name1,view_name.field_name2...
    • Vous pouvez obtenir l'URL d'exploration pour les explorations existantes en sélectionnant l'option d'icône en forme de roue dentée Expanded URL (URL développée).
    • Les filtres d'exploration s'affichent dans les URL sous la forme f[view_name.field_name]. Pour obtenir un exemple, consultez la section Lier une exploration associée.
  • Look: /looks/YOUR_LOOK_NUMBER
  • Tableau de bord défini par l'utilisateur : /dashboards/YOUR_DASHBOARD_NUMBER?FILTER_NAME_1=VALUE&FILTER_NAME_2=VALUE

    • Vous pouvez obtenir l'URL d'un tableau de bord existant en copiant l'URL du navigateur à partir de la page du tableau de bord.
  • Tableau de bord LookML : /dashboards/YOUR_MODEL::YOUR_DASHBOARD

    • Vous pouvez obtenir l'URL d'un tableau de bord LookML existant en copiant l'URL du navigateur à partir de la page du tableau de bord.

Les filtres de tableau de bord pour les tableaux de bord définis par l'utilisateur et LookML s'affichent dans les URL sous la forme filter_name, où filter_name correspond au nom attribué au filtre placé sur le tableau de bord. Pour obtenir un exemple, consultez la section Transmettre une valeur de filtre existante au contenu associé.

Les éléments des URL, tels que les valeurs et les noms de filtre, sont encodés au format URL avec des caractères spéciaux, tels que ? pour indiquer le début d'une chaîne de requête, & pour séparer les éléments et %20 pour les espaces. Pour obtenir un exemple, consultez la section Encodage au format URL d'autres opérateurs de comparaison.

Une fois que vous disposez de l'URL du contenu vers lequel vous souhaitez créer un lien, vous pouvez utiliser Liquid pour insérer la valeur d'un champ dans n'importe quel élément de l'URL, à l'aide des value ou _filters['view_name.field_name'] variables et des {{ }} tags. Pour en savoir plus sur les parties d'une URL de requête, consultez le post de la communauté Looker Utiliser des URL et des paramètres de requête.

Nous avons une dimension appelée City. Nous souhaitons que les utilisateurs puissent accéder à une autre exploration existante, avec des métriques de ville et un filtre City. Nous voulons que l'exploration associée soit filtrée par la ville sélectionnée par l'utilisateur.

Pour ce faire :

  1. Obtenez l'URL de l'exploration existante à explorer.
  2. Ajoutez un paramètre link à la dimension City :
  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"
  }
  }

Ici, l'URL a été raccourcie à limit=500, ce qui limite les résultats de l'exploration à 500 lignes, par souci de clarté. Vous pouvez inclure le reste de l'URL, qui inclut généralement l'encodage au format URL des paramètres de visualisation, si nécessaire.

  1. Insérez le tag et la variable Liquid {{ value }} à l'endroit où vous souhaitez insérer la valeur dans l'URL. Dans ce cas, nous voulons placer la valeur à l'endroit où l'élément de filtre, f[users.city]=, se trouve dans la chaîne d'URL pour que l'exploration soit filtrée par la ville sélectionnée par l'utilisateur :
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"
  }
}

La dimension City affiche ensuite un menu de liens à trois points qui affiche l'option City Metrics Explore.

Lorsqu'un utilisateur clique sur le lien, il est redirigé vers l'exploration des métriques de la ville, filtrée par la ville sélectionnée.

Vous pouvez également conserver les valeurs de filtre existantes lorsque vous créez un lien vers du contenu Looker, comme indiqué dans l'exemple suivant.

Exemple : Transmettre une valeur de filtre existante au contenu associé

link est une autre variable Liquid compatible avec le paramètre _filters['view_name.field_name']. Cette variable prend les valeurs existantes saisies pour un filtre et les transmet à une exploration, un tableau de bord ou un Look associé.

Dans les URL de contenu, vous pouvez voir où les valeurs de filtre sont spécifiées et les remplacer par votre variable _filters['view_name.field_name']. Pour en savoir plus sur les parties d'une URL de requête, consultez le post de la communauté Looker Utiliser des URL et des paramètres de requête.

Voici un exemple de dimension qui utilise la variable _filters['view_name.field_name'] dans son paramètre link pour transmettre une valeur de filtre existante pour un champ appelé users.state :

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

Dans cet exemple, si un utilisateur filtre une requête par la dimension users.state, le tableau de bord associé est automatiquement filtré par les mêmes états choisis dans la requête d'origine. L'inclusion du filtre Liquid url_encode dans cet exemple convertit les chaînes non sécurisées au format URL en chaînes encodées en pourcentage. Cela garantit que les valeurs de filtre contenant des caractères spéciaux, tels que des espaces ou des virgules, peuvent être transmises au tableau de bord associé.

Supposons, par exemple, qu'un utilisateur ait filtré une requête par l'état "Californie". Lorsque l'utilisateur clique sur le menu à trois points à côté d'une valeur du champ Name, le menu Links affiche un lien vers le tableau de bord Business Pulse by State. Lorsque l'utilisateur clique sur ce lien, le tableau de bord Business Pulse by State est déjà filtré sur l'état "Californie".

Cela fonctionne également pour transmettre des valeurs de filtre aux Looks et aux explorations associés :

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

Vous pouvez transmettre plusieurs filtres en plaçant & entre eux, comme dans les URL suivantes :

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

Pour en savoir plus sur la création de filtres de tableau de bord, consultez les pages de documentation Créer des tableaux de bord LookML et Ajouter et modifier des filtres de tableau de bord définis par l'utilisateur.

Si votre administrateur Looker a activé la fonctionnalité expérimentale Visual Drilling, vous pouvez personnaliser la visualisation affichée dans les superpositions détaillées des explorations et des Looks à l'aide du paramètre link et des variables Liquid. Les tableaux de bord sont compatibles avec l'exploration visuelle à l'aide du paramètre link sans qu'il soit nécessaire d'activer la fonctionnalité expérimentale Visual Drilling.

Voici un exemple de configuration d'une visualisation détaillée sur un nuage de points :


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

Pour obtenir d'autres exemples de personnalisation des visualisations détaillées, consultez la page Bonnes pratiques pour une exploration des données plus efficace.

Éléments à prendre en compte lors de la création de liens vers du contenu Looker

Dans certains cas, vous devrez peut-être inclure des opérateurs de comparaison de filtres autres que égal à, inclure plusieurs filtres ou échapper des virgules dans les liens vers du contenu Looker. Les sections suivantes fournissent plus d'informations sur ces cas d'utilisation.

Encodage au format URL d'autres opérateurs de comparaison

Si vous souhaitez inclure un opérateur de comparaison dans un filtre associé autre que égal à (=), vous pouvez le faire en encodant au format URL l'opérateur.

Par exemple, si vous souhaitez qu'un filtre order_id sur un Look associé inclue des valeurs inférieures à (<) au champ order_id associé à la valeur sur laquelle vous cliquez, vous devez encoder partiellement le caractère de l'opérateur (%3C dans ce cas) et l'ajouter à l'URL :

f[orders.order_id]=%3C{{ other_orders.order_id._value }}
Inclure plusieurs filtres

Vous pouvez appliquer plusieurs filtres aux Looks, tableaux de bord et explorations associés en utilisant une esperluette (&) pour séparer chaque filtre :

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 }}"
  }
}
Échapper des virgules

Vous pouvez échapper des virgules dans les valeurs associées avec la variable filterable_value lorsque vous utilisez normalement la variable value.

Le lien suivant permet d'explorer une exploration qui filtrera les résultats par la valeur users.city sélectionnée :

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

Si l'utilisateur clique sur Santa Cruz, CA pour explorer les résultats filtrés par cette ville, l'exploration résultante renvoie tous les résultats contenant Santa Cruz ou CA.

Si filterable_value est utilisé à la place de value, la virgule est échappée :

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

L'exploration résultante renvoie tous les résultats contenant la valeur de chaîne entière Santa Cruz, CA.

Si vous souhaitez coder en dur une valeur de filtre contenant une virgule dans une URL d'exploration, vous pouvez échapper la virgule en encapsulant la valeur entre guillemets doubles, puis en les échappant avec une barre oblique inverse (\) :

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

Autres ressources

Bon à savoir

Lorsqu'une dimension contient un paramètre link qui fait référence à un autre champ, ce champ supplémentaire peut être ajouté au code SQL sous-jacent d'une requête dans laquelle la dimension est utilisée. Si le champ référencé n'est pas présent dans la visualisation de la requête et que la visualisation est un graphique en tableau avec des colonnes réorganisées manuellement, l'ordre des colonnes dans certains formats téléchargés peut être affecté.