vínculo

Uso

view: view_name {
  dimension: field_name {
    link: {
      label: "desired label name"
      url: "desired_url"
      icon_url: "url_of_an_image_file"
    }
    # Possibly more links
  }
}
Jerarquía
link
Tipos de campos posibles
Dimensión, medida

Acepta
Varios parámetros

Definición

El parámetro link te permite agregar vínculos web a dimensiones y medidas para que los usuarios puedan navegar con facilidad al contenido relacionado directamente desde Looker. La forma de un parámetro link es la 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 quieres que aparezca para los usuarios.
  • url es la URL a la que deseas que dirija el vínculo. Puedes usar variables de Liquid para que los vínculos sean dinámicos, como se describe en la sección Uso de variables de Liquid con link de esta página.
  • icon_url es una URL, accesible para el navegador del usuario, que contiene un archivo de imagen. Esto facilita que los usuarios comprendan, de un vistazo, a dónde los llevará el vínculo. El parámetro icon_url no es obligatorio si no quieres usar un ícono. Si necesitas logotipos corporativos, intenta realizar una búsqueda en Google con el patrón http://www.google.com/s2/favicons?domain=[company website of interest] para encontrar imágenes en formato .ico.

Ejemplo

Una empresa de comercio electrónico desea que los empleados puedan comunicarse con el equipo de asistencia al cliente del almacén directamente desde el contenido de Looker, como un Look que muestre los pedidos pendientes del mes anterior. El Look contiene los IDs de pedido y el ID de usuario del cliente asociado a cada pedido.

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


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

En la visualización, el usuario verá el vínculo Contact Warehouse Support entre las opciones del menú de vínculos, al que se accede haciendo clic en el menú de tres puntos de cualquiera de los valores del campo ID de pedidos.

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

Cuando un usuario hace clic en un vínculo, Looker lo abrirá en una pestaña nueva del navegador o en la misma pestaña (o iframe, en el caso de las 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 iframe. Una vez que se abre el vínculo, el usuario puede hacer clic en Atrás en el navegador para volver a la búsqueda original.

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

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

De las dos, {{ }}, junto con las variables de Liquid value y _filters['view_name.field_name'], se usa con mayor frecuencia con link. Esto se debe a que las etiquetas {{ }} ingresan valores directamente donde se colocan, por ejemplo, dentro de una URL.

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

Vinculación a contenido externo

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

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

Cuando un usuario hace clic en el menú de tres puntos de un valor del campo Artist Name, Looker muestra el menú Links, que incluye el vínculo que se creó en el LookML de ejemplo. El vínculo abre una nueva pestaña del navegador con una búsqueda en Google del artista que seleccionó. El nombre del artista seleccionado se inserta en la URL donde se coloca {{ 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 tickets, sistemas de administración de clientes y otras herramientas relacionadas con la empresa, para facilitar la navegación entre las aplicaciones web.

Vinculación a contenido en Looker

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

Para comenzar, deberás obtener la URL de un panel, una vista o un Explorar existentes a los que quieras vincularte. Luego, puedes reemplazar elementos específicos de la URL, como los valores y los nombres de los filtros, por 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 URLs de contenido es la siguiente:

  • Explorar: /explore/YOUR_MODEL_NAME/YOUR_EXPLORE_NAME?fields=view_name.field_name1,view_name.field_name2...
    • Para obtener la URL de exploración de las exploraciones existentes, selecciona la opción del ícono de ajustes URL expandida.
    • Los filtros de exploración aparecerán en las URLs como f[view_name.field_name]. Consulta la sección Cómo vincular a un Explorar relacionado para ver un ejemplo.
  • Aspecto: /looks/YOUR_LOOK_NUMBER
  • Panel definido por el usuario: /dashboards/YOUR_DASHBOARD_NUMBER?FILTER_NAME_1=VALUE&FILTER_NAME_2=VALUE

    • Para obtener la URL de un panel existente, copia la URL del navegador de la página del panel.
  • Panel de LookML: /dashboards/YOUR_MODEL::YOUR_DASHBOARD

    • Para obtener la URL de un panel de LookML existente, copia la URL del navegador de la página del panel.

Los filtros de panel para los paneles definidos por el usuario y los paneles de LookML aparecerán en las URLs como filter_name, donde filter_name es el nombre que se le asignó al filtro colocado en el panel. Consulta la sección Cómo pasar un valor de filtro existente al contenido vinculado para ver un ejemplo.

Los elementos de las URLs, como los nombres y los valores de los filtros, están codificados como URL con caracteres especiales, como ? para indicar el inicio de una cadena 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 al que deseas vincularte, puedes usar Liquid para insertar el valor de un campo en cualquier elemento de la URL con las variables value o _filters['view_name.field_name'] y las etiquetas {{ }}. Consulta la publicación de Comunidad de Looker Using URLs and query parameters para obtener más 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 la ciudad y un filtro de Ciudad. Queremos que la función Explorar vinculada se filtre según la ciudad que seleccione el usuario.

Para lograrlo, sigue estos pasos:

  1. Obtén la URL de la exploración existente a la que deseas acceder.
  2. Agrega un parámetro link a la dimensión Ciudad:
  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"
  }
  }

Aquí, la URL se acortó a limit=500, lo que limita los resultados de Explorar a 500 filas para mayor claridad. Puedes 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 donde desees insertar el valor en la URL. En este caso, queremos colocar el valor donde se encuentra el elemento de filtro, f[users.city]=, en la cadena de URL para que la exploración se filtre según la ciudad seleccionada por el usuario:
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"
  }
}

Luego, la dimensión Ciudad mostrará un menú de vínculos con tres puntos que incluye la opción Explorar métricas de la ciudad.

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

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

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

Otra variable de Liquid 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 una exploración, un panel o una vista vinculados.

En las URLs de contenido, puedes ver dónde se especifican los valores del filtro y reemplazarlos por tu variable _filters['view_name.field_name']. Consulta la publicación de Comunidad de Looker Using URLs and query parameters 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: "/dashboards/694?State={{ _filters['users.state'] | url_encode }}"
  }
}

En este ejemplo, si un usuario filtra una búsqueda por la dimensión users.state, el panel vinculado se filtra automáticamente por los mismos estados elegidos en la búsqueda original. En este ejemplo, el filtro de Liquid url_encode convierte las cadenas no seguras para URLs en cadenas codificadas como porcentaje. Esto garantiza que los valores de filtro que contienen caracteres especiales, como espacios o comas, se puedan pasar al panel vinculado.

Por ejemplo, supongamos que un usuario filtró una búsqueda por el estado de "California". Cuando el usuario hace clic en el menú de tres puntos junto a un valor del campo Nombre, el menú Vínculos muestra un vínculo al panel Pulso de negocios por estado. Cuando el usuario haga clic en este vínculo, el panel Business Pulse by State ya estará filtrado según el estado "California".

Esto también funciona para pasar valores de filtro a Looks y Exploraciones vinculados:

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

Puedes pasar varios filtros colocando & entre ellos, como en las siguientes 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 }}"
  }
}

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

Si tu administrador de Looker habilitó la función Exploración visual, puedes personalizar la visualización que se muestra en las superposiciones de exploración de Explorar y Looks con el parámetro link y las variables de Liquid. Los paneles admiten la exploración visual con el parámetro link sin necesidad de habilitar la función Exploración visual.

A continuación, se muestra un ejemplo de cómo configurar una visualización de desglose en un gráfico 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"
    }
  }

Consulta la página de prácticas recomendadas Desglose de datos más potente para obtener más ejemplos de cómo personalizar las visualizaciones de desglose.

Aspectos que debes tener en cuenta cuando vinculas contenido de Looker

Es posible que, en algunos casos, debas 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 de uso.

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

Si deseas incluir un operador de comparación en un filtro vinculado que no sea igual a (=), puedes hacerlo codificando el operador como URL.

Por ejemplo, si deseas un filtro order_id en un Look vinculado para incluir valores que sean menores que (<) el campo order_id asociado con el valor en el que haces clic, codificarías parcialmente el carácter del operador (%3C en este caso) y lo agregarías a la URL:

f[orders.order_id]=%3C{{ other_orders.order_id._value }}
Cómo incluir varios filtros

Se puede aplicar más de un filtro a los Looks, los paneles y los Explorar vinculados usando un signo et (&) 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 }}"
  }
}
Comas de escape

Puedes marcar comas de escape en valores vinculados con la variable filterable_value, en lugar de la variable value que usarías normalmente.

El siguiente vínculo profundiza en un Explorar que filtrará los resultados según el valor de 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, CA para explorar los resultados filtrados por esta ciudad, la exploración resultante mostrará todos los resultados que contengan Santa Cruz o CA.

Si se usa filterable_value en lugar de value, se omitirá 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 }}"
    }
}

La exploración resultante devolverá todos los resultados que contengan el valor de cadena completo Santa Cruz, CA.

Si deseas codificar de forma rígida un valor de filtro que contiene una coma en una URL de desglose, puedes escapar la coma encerrando el valor entre comillas dobles y, luego, escapándolas con una barra invertida (\):

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

  • Consulta la página de prácticas recomendadas Desglose de datos más potente para ver ejemplos más avanzados de desglose personalizado.
  • Consulta la página de documentación Variables de Liquid para obtener más ejemplos del uso de {{ value }} en vínculos.

Información importante

Cuando una dimensión contiene un parámetro link que hace referencia a otro campo, ese campo adicional se puede agregar al código SQL subyacente de una consulta en la que se usa la dimensión. Si el campo al que se hace referencia no está presente en la visualización de la consulta y la visualización es un gráfico de tabla con columnas reorganizadas manualmente, es posible que se vea afectado el orden de las columnas en algunos formatos descargados.