vincular

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
  }
}
Hierarquia
link
Tipos de campo possíveis
Dimensão, medida

Aceita
Vários parâmetros

Definição

O parâmetro link permite adicionar links da Web a dimensões e medidas para que os usuários naveguem facilmente até o conteúdo relacionado diretamente do Looker. O formato de um parâmetro link é:

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

O parâmetro link tem vários parâmetros filhos:

  • label é o nome do link que você quer que apareça para os usuários.
  • url é o URL para onde você quer que o link vá. É possível usar variáveis do Liquid para tornar os links dinâmicos, conforme descrito na seção Usar variáveis do Liquid com link nesta página.
  • icon_url é um URL acessível ao navegador do usuário que contém um arquivo de imagem. Isso facilita a compreensão dos usuários, de relance, de onde o link os levará. O parâmetro icon_url não é obrigatório se você não quiser um ícone. Se você precisar de logotipos corporativos, faça uma Pesquisa Google com o padrão http://www.google.com/s2/favicons?domain=[company website of interest] para encontrar Imagens no formato .ico.

Exemplo

Uma empresa de e-commerce quer que os funcionários possam entrar em contato com o suporte do armazém diretamente do conteúdo do Looker, como um Look que mostra os pedidos pendentes do mês anterior. O Look contém IDs de pedidos e o ID do usuário do cliente associado a cada pedido.

É possível adicionar um link à dimensão ID do pedido para disponibilizar essa ação ao usuário que está visualizando o Look:


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

No Look, o usuário verá o link Fale com o suporte do armazém entre as opções do menu de links, acessado clicando no menu de três pontos de qualquer um dos valores do campo ID do pedido.

Ao clicar no nome do link, o usuário é direcionado ao conteúdo vinculado. Nesse caso, uma nova guia com um rascunho de e-mail em branco endereçado ao endereço de e-mail especificado.

Quando um usuário clica em um link, o Looker o abre em uma nova guia do navegador ou na mesma guia (ou iframe, para consultas incorporadas):

  • Links absolutos, como https://example.looker.com, serão abertos em uma nova guia do navegador.
  • Links relativos, como /dashboards/456, serão abertos na mesma guia ou iframe do navegador. Depois que o link for aberto, o usuário poderá clicar em Voltar no navegador para retornar à consulta original.

Um usuário precisa ter a permissão explore ou see_drill_overlay para acessar links.

O parâmetro link oferece suporte a variáveis do Liquid para tornar o conteúdo ainda mais interativo até o nível da linha e do valor. O LookML oferece suporte a dois tipos de tags de uso do Liquid: tags de entrada de valor {{ }} e tags de lógica condicional {% %} tags.

Das duas, {{ }}, em conjunto com as variáveis do Liquid value e _filters['view_name.field_name'] , é mais usada com link. Isso acontece porque as tags {{ }} inserem valores de entrada diretamente onde são colocadas, como em um URL.

Consulte os exemplos nesta página para ver exemplos de uso de tags {{ }} do Liquid com as variáveis value e _filters['view_name.field_name'] para tornar o conteúdo interativo com link.

Como criar links para conteúdo externo

Por exemplo, suponha que você tenha uma dimensão artist_name e queira que o usuário tenha a opção de executar uma pesquisa no Google sobre esse artista, diretamente do Looker. É possível usar a value variável líquida para adicionar essa opção a uma dimensão como a seguinte:

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

Quando um usuário clica no menu de três pontos de um valor do campo Nome do artista, o Looker mostra o menu Links, que inclui o link criado no LookML de exemplo. O link abre uma nova guia do navegador para uma pesquisa no Google sobre o artista selecionado. O nome do artista selecionado é inserido no URL em que {{ value }} é colocado.

Esse padrão pode ser replicado para outros sites externos que o navegador de um usuário tenha acesso, como sistemas de gerenciamento de tickets, sistemas de gerenciamento de clientes e outras ferramentas relacionadas a negócios, para facilitar a navegação entre aplicativos da Web.

Como criar links para conteúdo no Looker

Além de sites externos, é possível usar o parâmetro link para direcionar os usuários a outras análises, Looks ou painéis relevantes do Looker para uma experiência de detalhamento personalizada. Também é possível aplicar os mesmos exemplos a links no parâmetro html do LookML para campos.

Para começar, você precisará acessar o URL de uma análise, um Look ou um painel que você quer vincular. Em seguida, é possível substituir elementos específicos do URL, como nomes e valores de filtro, por tags {{ }} que contenham variáveis value e _filters['view_name.field_name']. As variáveis vão inserir os valores selecionados pelo usuário nos elementos de URL que elas substituem. A estrutura básica dos URLs de conteúdo é a seguinte:

  • Análise: /explore/YOUR_MODEL_NAME/YOUR_EXPLORE_NAME?fields=view_name.field_name1,view_name.field_name2...
  • Look: /looks/YOUR_LOOK_NUMBER
  • Painel definido pelo usuário: /dashboards/YOUR_DASHBOARD_NUMBER?FILTER_NAME_1=VALUE&FILTER_NAME_2=VALUE

    • É possível acessar o URL de um painel atual copiando o URL do navegador na página do painel.
  • Painel do LookML: /dashboards/YOUR_MODEL::YOUR_DASHBOARD

    • É possível obter o URL de um painel do LookML atual copiando o URL do navegador na página do painel.

Os filtros de painel para painéis definidos pelo usuário e do LookML vão aparecer nos URLs como filter_name, em que filter_name é o nome dado ao filtro colocado no painel. Consulte a seção Transmitir um valor de filtro atual para o conteúdo vinculado para ver um exemplo.

Os elementos de URLs, como nomes e valores de filtro, são codificados por URL com caracteres especiais, como ? para indicar o início de uma string de consulta, & para separar elementos e %20 para espaços. Consulte a seção Codificação de URL para outros operadores de comparação para ver um exemplo.

Depois de ter o URL do conteúdo que você quer vincular, é possível usar o Liquid para inserir o valor de um campo em qualquer elemento do URL, usando as variáveis value ou _filters['view_name.field_name'] e as tags {{ }}. Consulte a postagem na Comunidade do Looker Usar URLs e parâmetros de consulta para mais informações sobre as partes de um URL de consulta.

Temos uma dimensão chamada Cidade. Queremos que os usuários possam acessar outra análise atual, com métricas de cidade e um filtro Cidade. Queremos que a análise vinculada seja filtrada pela cidade selecionada pelo usuário.

Para que isso seja possível, faça o seguinte:

  1. Acesse o URL da análise atual para detalhar.
  2. Adicione um parâmetro link à dimensão Cidade:
  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"
  }
  }

Aqui, o URL foi encurtado para limit=500, o que limita os resultados da Análise a 500 linhas, para fins de esclarecimento. É possível incluir o restante do URL, que normalmente inclui a codificação de URL das configurações de visualização, conforme necessário.

  1. Insira a tag e a variável {{ value }} do Liquid em que você quer inserir o valor no URL. Nesse caso, queremos colocar o valor em que o elemento de filtro, f[users.city]=, está localizado na string de URL para que a análise seja filtrada pela cidade selecionada pelo usuário:
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"
  }
}

A dimensão Cidade vai mostrar um menu de links de três pontos que mostra a opção Análise de métricas da cidade.

Quando um usuário clica no link, ele é redirecionado para a Análise de métricas da cidade, filtrada pela cidade selecionada.

Também é possível preservar os valores de filtro atuais ao criar links para o conteúdo do Looker, conforme discutido no exemplo a seguir.

Exemplo: transmitir um valor de filtro atual para o conteúdo vinculado

Outra variável líquida com suporte ao parâmetro link é _filters['view_name.field_name']. Essa variável usa os valores atuais inseridos para um filtro e os transmite para uma análise, um painel ou um Look vinculado.

Nos URLs de conteúdo, é possível ver onde os valores de filtro são especificados e substituí-los pela variável _filters['view_name.field_name']. Consulte a postagem na Comunidade do Looker Usar URLs e parâmetros de consulta para informações sobre as partes de um URL de consulta.

Confira um exemplo de uma dimensão que usa a variável _filters['view_name.field_name'] no parâmetro link para transmitir um valor de filtro atual para um campo chamado users.state:

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

Neste exemplo, se um usuário filtrar uma consulta pela dimensão users.state, o painel vinculado será filtrado automaticamente pelos mesmos estados escolhidos na consulta original. A inclusão do filtro do Liquid url_encode neste exemplo converte strings não seguras de URL em strings codificadas em porcentagem. Isso garante que os valores de filtro que contêm caracteres especiais, como espaços ou vírgulas, possam ser transmitidos ao painel vinculado.

Por exemplo, suponha que um usuário tenha filtrado uma consulta pelo estado "Califórnia". Quando o usuário clica no menu de três pontos ao lado de um valor do campo Nome, o menu Links mostra um link para o painel Business Pulse by State. Quando o usuário clica nesse link, o painel Business Pulse by State já será filtrado no estado "Califórnia".

Isso também funciona para transmitir valores de filtro para Looks e análises 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 }}"
    }
  }

É possível transmitir vários filtros colocando & entre eles, como nos URLs a seguir:

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 informações sobre como criar filtros de painel, consulte as páginas de documentação Criar painéis do LookML e Adicionar e editar filtros de painel definidos pelo usuário.

Se o administrador do Looker tiver ativado o recurso Detalhes visuais, será possível personalizar a visualização mostrada nas sobreposições de detalhamento de análises e Looks usando o parâmetro link e as variáveis do Liquid. Os painéis oferecem suporte a detalhamento visual usando o parâmetro link sem a necessidade de ativar o recurso detalhamento visual.

Confira um exemplo de como definir uma visualização de detalhamento para um gráfico de dispersão:


  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 a página Práticas recomendadas para detalhamento de dados mais avançado para mais exemplos de personalização de visualizações de detalhamento.

Aspectos a serem considerados ao criar links para conteúdo do Looker

Pode haver casos em que você precise incluir operadores de comparação de filtros além de igual a, incluir vários filtros ou usar vírgulas de escape em links para conteúdo do Looker. As seções a seguir fornecem mais informações sobre esses casos de uso.

Codificação de URL para outros operadores de comparação

Se você quiser incluir um operador de comparação em um filtro vinculado diferente de igual a (=), faça isso por codificação de URL do operador.

Por exemplo, se você quiser que um filtro order_id em um Look vinculado inclua valores menores que (<) o campo order_id associado ao valor em que você está clicando, codifique parcialmente o caractere do operador (%3C nesse caso) e adicione-o ao URL:

f[orders.order_id]=%3C{{ other_orders.order_id._value }}
Como incluir vários filtros

Mais de um filtro pode ser aplicado a Looks, painéis e análises vinculados usando um e comercial (&) 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 }}"
  }
}
Como usar vírgulas de escape

É possível usar vírgulas de escape em valores vinculados com a variável filterable_value em que você normalmente usaria a variável value.

O link a seguir detalha uma análise que vai filtrar os resultados pelo valor users.city selecionado:

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

Se o usuário clicar em Santa Cruz, CA para detalhar os resultados filtrados por essa cidade, o detalhamento resultante vai retornar todos os resultados que contêm Santa Cruz ou CA.

Se filterable_value for usado em vez de value, a vírgula será escapada:

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

O detalhamento resultante vai retornar todos os resultados que contêm o valor da string inteira Santa Cruz, CA.

Se você quiser codificar um valor de filtro que contenha uma vírgula em um URL de detalhamento, use a vírgula de escape colocando o valor entre aspas duplas e, em seguida, usando uma 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"
    }
}

Outros recursos

Informações importantes

Quando uma dimensão contém um parâmetro link que faz referência a outro campo, esse campo adicional pode ser adicionado ao SQL subjacente de uma consulta em que a dimensão é usada. Se o campo referenciado não estiver presente na visualização da consulta e a visualização for um gráfico de tabela com colunas reorganizadas manualmente, a ordem das colunas em alguns formatos baixados poderá ser afetada.