link

Uso

view: view_name {
dimension: field_name {
link: {
label: "nome do rótulo desejado"
url: "preferred_url"
icon_url : "url_of
}
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 permitir que os usuários naveguem facilmente até conteúdo relacionado diretamente do Looker. A forma 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 exibir para os usuários.
  • url é o URL para onde você quer enviar o link. É possível usar as variáveis líquidas para tornar os links dinâmicos, conforme descrito na seção Como usar variáveis líquidas com link nesta página.
  • icon_url é um URL, acessível ao navegador do usuário, que contém um arquivo de imagem. Isso ajuda os usuários a entenderem rapidamente para 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, tente fazer 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 de pedidos pendentes do último mês. A aparência contém IDs de pedidos e o ID de 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 visualiza o Look:


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

O usuário verá o link entre as opções no menu de links. Para acessar, clique no menu de três pontos:

Ao clicar no nome do link, o usuário é levado 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:

O exemplo acima inclui um parâmetro sql. Se sql não for especificado, o Looker entenderá que há uma coluna na tabela com o mesmo nome do campo.

Quando um usuário clica em um link, o Looker abre o link 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, são abertos na mesma guia do navegador ou iframe. Depois que o link for aberto, o usuário poderá clicar em Voltar no navegador para retornar à consulta original.

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

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

Dos dois, {{ }}, em conjunto com as variáveis líquidas value e _filters['view_name.field_name'], é mais usado com link. Isso ocorre porque {{ }} codifica os valores de entrada diretamente no local em que eles são colocados, como em um URL.

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

Inserir 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 do Google sobre esse artista diretamente no Looker. É possível usar a variável de líquidos value para adicionar essa opção a uma dimensão como esta:

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

A experiência do usuário para este link de dimensão ficaria assim:

O link abre uma nova guia do navegador para a pesquisa do artista selecionado pelo Google. O nome do artista selecionado é inserido no URL em que {{ value }} está posicionado.

Esse padrão pode ser replicado para outros sites externos acessados pelo navegador do usuário, como sistemas de gerenciamento de tíquetes, sistemas de gerenciamento de clientes e outras ferramentas comerciais, facilitando a navegação entre aplicativos da Web.

Vincular ao conteúdo no Looker

Além dos sites externos, você pode usar o parâmetro link para direcionar os usuários a outros painéis "Explorars", "Looks" ou painéis relevantes do Looker e gerar uma experiência de navegação personalizada. Você também pode aplicar os mesmos exemplos a links no parâmetro LookML html para campos.

Para começar, você precisa do URL da guia "Explorar", "Visualizar" ou "Painel" a que você quer vincular. Em seguida, é possível substituir elementos específicos do URL, como nomes e valores de filtro, por tags {{ }} que contêm as variáveis value e _filters['view_name.field_name']. As variáveis vão inserir valores selecionados pelo usuário nos elementos de URL que eles substituirão. A estrutura básica dos URLs de conteúdo é a seguinte:

  • Explorar: https://instance_name.looker.com/explore/YOUR_MODEL_NAME/YOUR_EXPLORE_NAME?fields=view_name.field_name1,view_name.field_name2...
    • Você pode encontrar o URL para "Explorar" existente selecionando a opção de ícone de engrenagem URL expandido.
    • Os filtros de exploração aparecerão nos URLs como f[view_name.field_name]. Consulte a seção Vincular a um recurso Explorar relacionado para ver um exemplo.
  • Aparência: https://instance_name.looker.com/Looks/YOUR_LOOK_NUMBER
  • Painel definido pelo usuário: https://instance_name.looker.com/dashboards/YOUR_DASHBOARD_NUMBER?FILTER_NAME_1=VALUE&FILTER_NAME_2=VALUE
    • Para ver o URL de um painel existente, copie o URL do navegador na página do painel.
    • Se você estiver usando os painéis legados, o URL usará dashboards-legacy em vez de dashboards no formato de URL.
  • Painel LookML: https://instance_name.looker.com/dashboards/YOUR_MODEL::YOUR_DASHBOARD
    • Para ver o URL de um painel atual do LookML, copie o URL do navegador na página correspondente.

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

Elementos de URLs, como valores de filtro e nomes, 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.

Assim que tiver o URL do conteúdo que você quer vincular, use 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 o tópico Como usar URLs e parâmetros de consulta da Comunidade do Looker 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 outro recurso "Explorar", com métricas da cidade e um filtro Cidade. O filtro "Explorar" vinculado deve ser filtrado pela cidade selecionada pelo usuário.

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

  1. Encontre o URL do recurso Explorar para detalhar.
  2. Adicione um parâmetro link à dimensão City:
  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"
  }
  }

Aqui, o URL foi reduzido para limit=500, o que limita os resultados da guia "Explorar" a 500 linhas para facilitar a compreensão. Você pode incluir o restante do URL, que geralmente inclui a codificação de URL das configurações de visualização, conforme necessário.

  1. Insira a tag {{ value }} e a variável do líquido 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 o recurso Explorar seja filtrado pela cidade selecionada pelo usuário:
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"
  }
}

A dimensão Cidade exibirá um menu de três pontos com a opção Explorar métricas de cidade:

Quando um usuário clica no link, ele é redirecionado para a exploração de métricas da cidade, filtrada pela cidade selecionada:

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

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

Outra variável líquida compatível com o parâmetro link é _filters['view_name.field_name']. Essa variável transmite os valores existentes para um filtro e os transmite para um recurso Explorar, painel ou Look vinculado.

Se você transmitir o filtro de um painel, o _filters['view_name.field_name'] precisará se referir a um filtro de tipo de campo, conforme definido no LookML do painel ou na interface do usuário do painel legado.

Em 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 o tópico Como usar URLs e parâmetros de consulta da Comunidade do Looker para informações sobre as partes de um URL de consulta.

Veja 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 existente para um campo chamado 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 }}"
  }
}

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

No exemplo a seguir, o usuário filtrou uma consulta pelo estado "Califórnia". O link abre um painel que já está filtrado no estado da Califórnia:

Isso também funciona para transmitir valores de filtro para os recursos Explorar e Explorar vinculados:

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

Você pode transmitir vários filtros colocando & entre eles, como nos URLs especificados abaixo:

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

Vinculação a painéis e visuais: um painel vinculado ou uma aparência precisa ser configurada com um filtro que aceite os valores especificados. No exemplo acima, o painel vinculado Business Pulse by State está configurado com um filtro em users.state, chamado "State", para que o valor do filtro _filters['users.state'] possa ser transmitido ao painel. Se um painel ou Look não tiver um filtro que possa usar os valores transmitidos, o link ainda funcionará, mas os valores não serão aplicados ao painel.

Para ver informações sobre como criar filtros do painel, consulte as páginas de documentação Como criar painéis do LookML e Como adicionar e editar filtros definidos pelo usuário.

Se o administrador do Looker tiver ativado o recurso Análise visual do Labs, você poderá personalizar a visualização exibida nas sobreposições de detalhamento de "Explorars", "Aparências" e "Painéis legados" usando o parâmetro link e as variáveis de líquidos. A nova experiência do painel é compatível com o detalhamento visual usando o parâmetro link sem a necessidade de ativar o recurso de perfuração visual.

Veja um exemplo de como configurar 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 o artigo Análise de dados mais avançada para ver mais exemplos de personalização.

Considerações importantes ao vincular ao conteúdo do Looker

Em alguns casos, é preciso incluir operadores de comparação de filtro além de igual a, incluir vários filtros ou escape de vírgulas em links para o conteúdo do Looker. As seções a seguir fornecem mais informações sobre esses casos de uso.

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

Se você quiser incluir um operador de comparação em um filtro vinculado que não seja igual a (=), é possível fazer isso usando a codificação de URL do operador.

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

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

Mais de um filtro pode ser aplicado a "Aparências", "Painéis" e "Explorar" 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 fazer escape de vírgulas

Você pode inserir vírgulas nos valores vinculados usando a variável filterable_value, onde normalmente é possível usar a variável value.

O link a seguir é exibido em uma exploração que filtra 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, Califórnia, para ver os resultados filtrados por essa cidade, o detalhamento retornará todos os resultados que contêm Santa Cruz ou CA.

Se filterable_value for usado em vez de value, a vírgula terá escape:

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 retornará todos os resultados que contêm o valor inteiro da string Santa Cruz, CA.

Se você quiser codificar um valor de filtro que contém uma vírgula em um URL de detalhamento, faça o escape da vírgula colocando o valor entre aspas duplas e fazendo o escape com uma barra (/):

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