estende (para visualizações)

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

O extends também pode ser usado como parte de uma exploração, descrita na página de documentação do parâmetro extends (para explorações).

O 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 {
estende: [view_name, view_name, ...]
}
Hierarquia
extends
Valor padrão
Nenhuma

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

Definição

O parâmetro extends permite ampliar o conteúdo e as configurações de outro arquivo de visualização usando o outro arquivo como ponto de partida. Se houver conflitos, a visualização estendida usará as próprias configurações, modificando as configurações da visualização que está sendo estendida. Consulte Como reutilizar código com estendidos para mais detalhes sobre como o Looker faz isso.

Confira os refinamentos do LookML.
Estender uma visualização ou uma exploração é ideal para cenários em que você queira ter várias versões da visualização ou Explorar. No entanto, caso seu objetivo seja apenas modificar uma visualização ou uma análise sem editar o arquivo LookML que o contém, use um refinamento. Também é possível usar um parâmetro extends dentro de um refinamento. Consulte a página de documentação Refinamentos de 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 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 da visualização. Portanto, se você ainda não estiver usando sql_table_name, basta dar a ele o mesmo valor da visualização.

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

Evite estender as visualizações com base em tabelas derivadas permanentes (PDTs, na sigla em inglês). Cada extensão de um PDT cria uma nova cópia da tabela no seu banco de dados. Nesse caso, talvez você queira usar refinamentos do LookML. Consulte a página de documentação Refinamentos de LookML para mais informações e casos de uso.

Exemplo

Veja um exemplo de arquivo de visualização que podemos estender. A visualização é chamada de looker_events, e o nome de 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 novo 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
}

Em seguida, adicionamos uma nova medida que será exibida na nova visualização, além de todas as dimensões e medidas definidas na visualização looker_events que estendemos.

Como usar metadados para ver extensões de um objeto

Clique em um parâmetro explore ou view no ambiente de desenvolvimento integrado do Looker e use o painel de metadados para ver as extensões no objeto ou o objeto que ele estende. Para mais informações, consulte a página de documentação Metadados para objetos LookML.

Considerações

Alguns parâmetros são aditivos

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

No entanto, as extensões podem ser aditivas em alguns parâmetros, o que significa que os valores do objeto estendido 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"
    }
  }
}

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. A dimensão tem esta aparência em uma exploração:

Projetos com localização

Ao estender um objeto, lembre-se de 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 seu projeto. Consulte a página de documentação Como localizar seu modelo LookML para mais informações.