vínculo

Uso

view: view_name {
dimension: field_name {
link: {
label: "want label name"
url: "want_url"
icon_url :
Jerarquía
link
Tipos de campos posibles
Dimensión, Medición

Acepta
Varios parámetros

Definición

El parámetro link te permite agregar vínculos web a dimensiones y medidas para permitir que los usuarios naveguen con facilidad al contenido relacionado directamente desde Looker. El formato de un parámetro link es el siguiente:

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

El parámetro link tiene varios parámetros secundarios:

  • label es el nombre del vínculo que deseas que se muestre a los usuarios.
  • url es la URL a la que quieres vincular el vínculo. Puedes usar Variables líquidas para hacer que los vínculos sean dinámicos, como se describe en la sección Usa variables líquidas con link de esta página.
  • icon_url es una URL a la que puede acceder el navegador del usuario y que contiene un archivo de imagen. De esta forma, es más fácil para los usuarios comprender a simple vista hacia dónde los llevará el vínculo. El parámetro icon_url no es obligatorio si no quieres un ícono. Si necesitas logotipos corporativos, intenta realizar una búsqueda de Google con el patrón http://www.google.com/s2/favicons?domain=[company website of interest] para encontrar imágenes en el formato .ico.

Ejemplo

Una empresa de comercio electrónico desea que los empleados puedan comunicarse con el equipo de asistencia del almacén directamente desde el contenido de Looker, como una mirada que muestre los pedidos pendientes del mes pasado. La apariencia contiene los ID de pedido y el ID de usuario del cliente asociado con cada pedido:

Puede agregar un vínculo a la dimensión ID de pedidos a fin de que esta acción esté disponible para el usuario que ve el estilo:


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

El usuario verá el vínculo entre las opciones en el menú de vínculos, al que puede acceder haciendo clic en el menú de tres puntos:

Al hacer clic en el nombre del vínculo, el usuario accederá al contenido vinculado. En este caso, una nueva pestaña con un borrador de correo electrónico en blanco estará dirigido a la dirección especificada.

En el ejemplo anterior, se incluye un parámetro sql. Si no se especifica sql, Looker supone que hay una columna en la tabla subyacente con el mismo nombre que el campo.

Cuando un usuario haga clic en un vínculo, Looker lo abrirá en una nueva pestaña del navegador o en la misma pestaña (o iframe, para consultas incorporadas):

  • Los vínculos absolutos, como https://example.looker.com, se abrirán en una nueva pestaña del navegador.
  • Los vínculos relativos, como /dashboards/456, se abrirán en la misma pestaña del navegador o en el mismo marco. Una vez que se abre el vínculo, el usuario puede hacer clic en Atrás en el navegador para volver a la consulta original.

Un usuario debe tener el permiso explore o see_drill_overlay para acceder a los vínculos.

El parámetro link admite variables líquidas para que el contenido sea aún más interactivo hasta el nivel de fila y valor. LookML admite dos tipos de etiquetas de uso de líquidos: etiquetas de entrada de valor {{ }} y etiquetas de lógica condicional {% %}.

De las dos, {{ }}, junto con las variables líquidas value y _filters['view_name.field_name'], se usa con mayor frecuencia con link. Esto se debe a que {{ }} etiqueta los valores de entrada directamente donde están ubicados, por ejemplo, dentro de una URL.

Consulta los ejemplos de esta página para ver cómo usar las etiquetas {{ }} líquidas con las variables value y _filters['view_name.field_name'] a fin de hacer que el contenido sea interactivo con link.

Cómo vincular a contenido externo

Por ejemplo, supongamos que tienes una dimensión de artist_name y quieres que el usuario tenga la opción de ejecutar una búsqueda de Google de ese artista, directamente desde Looker. Puede usar la variable líquida value para agregar esa opción a una dimensión como la siguiente:

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

La experiencia del usuario con este vínculo de dimensión se vería así:

El vínculo abre una nueva pestaña del navegador para buscar el artista que seleccionó en Google. El nombre del artista seleccionado se inserta en la URL donde se encuentra {{ value }}.

Este patrón se puede replicar para otros sitios web externos a los que el navegador de un usuario tiene acceso, como sistemas de administración de vales, sistemas de administración de clientes y otras herramientas relacionadas con la empresa, para facilitar la navegación entre aplicaciones web.

Vincular a contenido en Looker

Además de los sitios externos, puedes usar el parámetro link para dirigir a los usuarios a otras exploraciones, apariencias o paneles relevantes de Looker a fin de tener una experiencia personalizada de perforación. También puedes aplicar los mismos ejemplos a los vínculos del parámetro html LookML para los campos.

Para comenzar, deberá obtener la URL de un Panel de control, aspecto o panel existente que desea vincular. Luego, puedes reemplazar elementos específicos de la URL, como valores y nombres de filtros, con etiquetas {{ }} que contengan variables value y _filters['view_name.field_name']. Las variables ingresarán los valores seleccionados por el usuario en los elementos de URL que reemplacen. La estructura básica de las URL de contenido es la siguiente:

  • Explorar: https://instance_name.looker.com/explore/YOUR_MODEL_NAME/YOUR_EXPLORE_NAME?fields=view_name.field_name1,view_name.field_name2...
  • Mirar: https://instance_name.looker.com/Looks/YOUR_LOOK_NUMBER
  • Panel definido por el usuario: https://instance_name.looker.com/dashboards/YOUR_DASHBOARD_NUMBER?FILTER_NAME_1=VALUE&FILTER_NAME_2=VALUE
    • Para obtener la URL de un panel existente, copie la URL del navegador de la página del panel.
    • Si usas los paneles heredados, la URL usará dashboards-legacy en lugar de dashboards en el formato de URL.
  • Panel de LookML: https://instance_name.looker.com/dashboards/YOUR_MODEL::YOUR_DASHBOARD
    • Puede obtener la URL de un panel de LookML existente si copia la URL del navegador de la página del panel.

Los filtros del panel para los paneles de control definidos por el usuario y los de LookML aparecerán en las URL como filter_name, en el que filter_name es el nombre asignado al filtro. Consulta la sección Pasa un valor de filtro existente al contenido vinculado para ver un ejemplo.

Los elementos de las URL, como los valores y nombres de filtros, están codificados para URL con caracteres especiales, como ?, a fin de indicar el inicio de una string de consulta, & para separar elementos y %20 para los espacios. Consulta la sección Codificación de URL para otros operadores de comparación para ver un ejemplo.

Una vez que tengas la URL del contenido que quieras vincular, podrás usar Liquid para insertar el valor de un campo en cualquier elemento de la URL mediante las variables value o _filters['view_name.field_name'], y las etiquetas {{ }}. Consulte el tema Cómo usar las URL y los parámetros de búsqueda de Looker para obtener información sobre las partes de una URL de consulta.

Tenemos una dimensión llamada Ciudad. Queremos que los usuarios puedan acceder a otra exploración existente, con métricas de ciudad y un filtro Ciudad. Queremos que la exploración vinculada se filtre por la ciudad que el usuario seleccione.

Para lograrlo:

  1. Obtenga la URL de Explorar para explorarla.
  2. Agrega un parámetro link a la dimensión Ciudad:
  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"
  }
  }

Aquí, la URL se acortó a limit=500, lo que limita los resultados de Explorar a 500 filas, para mayor claridad. Puede incluir el resto de la URL, que suele incluir la codificación de URL de la configuración de visualización, según sea necesario.

  1. Inserta la etiqueta y la variable {{ value }} de Liquid en las que deseas insertar el valor en la URL. En este caso, queremos colocar el valor en el que el elemento de filtro, f[users.city]=, se encuentra en la string de la URL para que Explorar sea filtrado por la ciudad seleccionada por el usuario:
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"
  }
}

Luego, la dimensión Ciudad mostrará un menú de vínculos de tres puntos que muestra la opción Exploración de métricas de ciudad:

Cuando un usuario hace clic en el vínculo, se lo redirecciona a la Exploración de métricas de la ciudad, que se filtra por la ciudad seleccionada:

También puedes conservar los valores de filtro existentes cuando vincules el contenido de Looker, como se explica en el siguiente ejemplo.

Ejemplo: Cómo pasar un valor de filtro existente al contenido vinculado

Otra variable líquida que admite el parámetro link es _filters['view_name.field_name']. Esta variable toma los valores existentes ingresados para un filtro y los pasa a Explorar, a un panel o a Look Look vinculados.

Si pasas el filtro de un panel, _filters['view_name.field_name'] debe hacer referencia a un filtro de tipo de campo, como se establece en LookML del panel o la interfaz de usuario del panel heredado.

En las URL de contenido, puede ver dónde se especifican los valores de filtro y reemplazarlos por la variable _filters['view_name.field_name']. Consulte el tema Cómo usar las URL y los parámetros de búsqueda de Looker para obtener información sobre las partes de una URL de consulta.

A continuación, se muestra un ejemplo de una dimensión que usa la variable _filters['view_name.field_name'] en su parámetro link para pasar un valor de filtro existente para un campo llamado users.state:

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

En este ejemplo, si un usuario filtra una consulta por la dimensión users.state, el panel vinculado se filtra de manera automática con los mismos estados que se eligieron en la consulta original. Si incluyes el filtro Líquido url_encode en este ejemplo, se convierten las strings no seguras en URL en strings codificadas en porcentaje. Esto garantiza que los valores de filtro que contienen caracteres especiales, como espacios o comas, se puedan pasar al panel vinculado.

En el siguiente ejemplo, el usuario filtró una consulta por el estado "California". El vínculo abre un panel que ya se filtró en el estado de California:

Esta opción también permite pasar los valores de filtro a la función Look and Explores vinculada:

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

Puedes pasar varios filtros si colocas & entre ellos, como en las URL que se especifican a continuación:

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

Vínculos a paneles y apariencias: Se debe configurar un panel o un aspecto vinculados con un filtro que pueda aceptar los valores de filtro especificados. En el ejemplo anterior, el panel Business Pulse by State vinculado está configurado con un filtro en users.state, llamado Estado, para que el valor del filtro _filters['users.state'] se pueda pasar al panel. Si un panel o una función Look no tienen un filtro que pueda usar los valores que se pasaron, el vínculo seguirá funcionando, pero los valores del filtro no se aplicarán al panel.

Para obtener información sobre la creación de filtros de paneles, consulta las páginas de documentación sobre cómo crear paneles de LookML y Cómo agregar y editar filtros de paneles definidos por el usuario.

Si el administrador de Looker habilitó la función de taladro visual, puede personalizar la visualización que se muestra en las superposiciones de detalles de los paneles de Explorar, Apariencia y heredados. Para ello, use el parámetro link y las variables líquidas. La nueva experiencia en el panel admite la perforación visual con el parámetro link sin la necesidad de habilitar la función de taladro visual.

Este es un ejemplo de cómo configurar una visualización de detalles con un diagrama de dispersión:


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

Consulte el artículo del Centro de ayuda Más detalles de la perforación de datos para obtener más ejemplos de personalización de visualizaciones de taladros.

Aspectos que debes tener en cuenta cuando vincules contenido de Looker

Puede haber casos en los que necesites incluir operadores de comparación de filtros además de igual a, incluir varios filtros o escapar comas en los vínculos al contenido de Looker. En las siguientes secciones, se proporciona más información sobre estos casos prácticos.

Codificación de URL de otros operadores de comparación

Si desea incluir un operador de comparación en un filtro vinculado que no sea equal to (=), puede hacerlo mediante la codificación URL.

Por ejemplo, si quieres que un filtro order_id en una apariencia vinculada incluya valores inferiores a (<) en el campo order_id asociado con el valor en el que haces clic, codificarás de manera parcial el carácter del operador (en este caso, %3E) y lo agregarás a la URL:

f[orders.order_id]=%3E{{ other_orders.order_id._value }}
Incluir varios filtros

Se puede aplicar más de un filtro a la configuración de aspecto, paneles y exploraciones con un signo de unión (&) para separar cada filtro:

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 }}"
  }
}
Cómo escapar comas

Puedes escapar comas en valores vinculados con la variable filterable_value en la que normalmente usarías la variable value.

En el siguiente vínculo, se examina una exploración que filtrará los resultados según el valor users.city seleccionado:

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 el usuario hace clic en Santa Cruz, California para acceder a los resultados filtrados por esta ciudad, el resultado resultante mostrará todos los resultados que contengan Santa Cruz o CA.

Si se usa filterable_value en lugar de value, se escapará la coma:

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

El resultado se mostrará como resultado todos los resultados que contengan el valor de string completo Santa Cruz, CA.

Si desea codificar un valor de filtro que contenga una coma en una URL de simulacro, puede escapar la coma si une el valor entre comillas dobles y las escapa con una barra diagonal (/):

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

Recursos adicionales