extends (para visualizações)

Esta página se refere ao parâmetro extends, que faz parte de uma visualização.

extends também pode ser usado como parte de uma análise detalhada, conforme descrito na página de documentação do parâmetro extends (para análises detalhadas).

extends também pode ser usado como parte de um painel do LookML, descrito na página de documentação Parâmetros do painel.

Uso

view: view_name {
  extends: [view_name, view_name, ...]
}
Hierarquia
extends
Valor padrão
Nenhum

Aceita
Colchetes contendo uma lista de nomes de visualizações separados por vírgulas

Definição

Com o parâmetro extends, você pode criar conteúdo e configurações de outro arquivo de visualização, usando esse arquivo como ponto de partida. Se houver conflitos, a visualização de extensão usará as próprias configurações, substituindo as da visualização estendida. Consulte Reutilizar código com "extends" para saber como o Looker faz isso.

Confira os refinamentos do LookML.

Estender uma visualização ou uma análise detalhada é ideal para cenários em que você quer ter várias versões da visualização ou da análise detalhada. Mas se o objetivo for apenas modificar uma visualização ou um recurso do Explore sem editar o arquivo do LookML que o contém, use um refinamento. Também é possível usar um parâmetro extends em um refinamento. Consulte a página de documentação Refinamentos da LookML para mais informações e casos de uso.

Ao estender uma visualização, é importante usar o parâmetro sql_table_name na visualização que será estendida, se ele ainda não estiver lá. O parâmetro sql_table_name define a tabela no banco de dados que será consultada por uma visualização. Para qualquer visualização, o valor padrão é o nome dela. Portanto, se você ainda não estiver usando sql_table_name, basta atribuir a ele o mesmo valor do nome da sua vista.

Também é importante que, no novo arquivo de visualização, usemos o parâmetro include para apontar para o nome do arquivo da visualização que queremos estender.

Evite estender visualizações baseadas em tabelas derivadas persistentes (PDTs). Cada extensão de uma PDT cria uma nova cópia da tabela no seu banco de dados. Nesse caso, talvez seja melhor usar refinamentos da LookML. Consulte a página de documentação Refinamentos da LookML para mais informações e casos de uso.

Exemplo

Este é um exemplo de arquivo de visualização que podemos estender. A visualização se chama looker_events e o nome do arquivo dela é events.view.

Arquivo: events.view

view: looker_events {
  sql_table_name: looker_db.events ;;
  # The normal contents of the view follow
}

Agora vamos criar um arquivo de visualização e definir uma visualização que estenda a visualização looker_events. No novo arquivo, precisamos usar o parâmetro include para apontar para o nome do arquivo da visualização que queremos estender:

Arquivo: new_events.view

include: "events.view"
view: name_of_the_new_view {
  extends: [looker_events]

  measure: additional_measure {
    type: count
  }
  # Additional things you want to add or change
}

Além disso, adicionamos uma nova métrica que vai aparecer na nova visualização, além de todas as dimensões e métricas definidas na visualização looker_events que estendemos.

Usar metadados para ver extensões de um objeto

Clique em um parâmetro explore ou view no Looker IDE e use o painel de metadados para conferir as extensões do objeto ou qual objeto ele estende. Consulte a página de documentação Metadados para objetos do LookML para mais informações.

Informações importantes

Alguns parâmetros são aditivos

Em muitos casos, se o objeto de extensão tiver o mesmo parâmetro do objeto que está sendo estendido, os valores do objeto de extensão vão substituir os valores de parâmetro do objeto estendido.

No entanto, as extensões podem ser aditivas para alguns parâmetros, ou seja, os valores do objeto de extensão são usados em conjunto com os valores do objeto estendido.

Os seguintes parâmetros são aditivos:

No exemplo a seguir, a visualização carriers tem uma dimensão name com um parâmetro link:

view: carriers {
  sql_table_name: flightstats.carriers ;;

  dimension: name {
    sql: ${TABLE}.name ;;
    type: string
    link: {
      label: "Google {{ value }}"
      url: "http://www.google.com/search?q={{ value }}"
      icon_url: "http://google.com/favicon.ico"
    }
  }
}

E aqui está a visualização carriers_extended, que estende a visualização carriers. A visualização carriers_extended também tem uma dimensão name com configurações diferentes no parâmetro link:


include: "/views/carriers.view.lkml"

view: carriers_extended {
  extends: [carriers]

  dimension: name {
    sql: ${TABLE}.name ;;
    type: string
    link: {
      label: "Dashboard for {{ value }}"
      url: "https://docsexamples.dev.looker.com/dashboards/307?Carrier={{ value }}"
      icon_url: "https://www.looker.com/favicon.ico"
    }
  }
}

Na visualização carriers_extended, os dois parâmetros link são aditivos. Portanto, a dimensão name terá os dois links.

Projetos com localização

Ao estender um objeto, saiba que as regras de localização também se aplicam às suas extensões. Se você estiver estendendo um objeto e definindo novos rótulos ou descrições, forneça definições de localização nos arquivos de strings de localidade do projeto. Consulte a página de documentação Localizar seu modelo do LookML para mais informações.