estende (para explores)

Esta página se refere ao parâmetro extends que faz parte de um Explorar.

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

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

Uso

explore: explore_name {
extends: [explore_name, explore_name, ...]
}
Hierarquia
extends
Valor padrão
Nenhuma

Aceita
Colchetes com uma lista separada por vírgulas de nomes de Explorar

Definição

O parâmetro extends permite aproveitar o conteúdo e as configurações de outro recurso Explorar, usando o outro como ponto de partida. Se houver algum conflito, a extensão "Explorar" usará as próprias configurações, modificando as configurações da extensão em questão. Consulte a página de documentação Como reutilizar código com extends 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 exploração, é importante ter o parâmetro view_name na exploração que será estendido. O parâmetro view_name define a visualização em que uma exploração se baseia. O valor padrão é o nome da exploração. Se o Explorar base não tiver um view_name especificado, o padrão será o nome dele. Mas isso não funciona para outras explorações que estão estendendo a base base. Portanto, o erro "visualização desconhecida" seria exibido. Para que o Looker use o arquivo de visualização correto, é necessário especificá-lo usando o parâmetro view_name. Como isso será necessário em qualquer versão estendida da ferramenta, a prática recomendada é adicioná-la à guia "Explorar" base para que seja sempre usada como referência.

Se o recurso Explorar base ainda não tiver um parâmetro view_name, basta adicionar o parâmetro view_name e especificar o mesmo valor do nome dele.

Você também pode usar o parâmetro view_label na sua base e ampliar as explorações. O parâmetro view_label determina o rótulo em que os campos da visualização são agrupados no seletor de campo. Consulte a página de documentação do parâmetro view_label (para "explores") para ver um exemplo. Se você não especificar um view_label para sua base e estender "Explorar", os dois usarão o nome "Explorar" da base.

Exemplo

Veja um exemplo de "Explore" definido em nosso arquivo de modelo:

explore: orders {
  view_name: orders
  view_label: "Orders"
  # The normal contents of the Explore follow
}

Aqui, adicionamos uma nova exploração que estende a orders explora que foi definida acima:

explore: name_of_the_new_explore {
  extends: [orders]
  view_label: "Order Information"
  # The additional things you want to add or change
  # in the new Explore
}

Se você estiver estendendo uma exploração com base em uma visualização estendida, também precisará usar o parâmetro from. Adicione from à guia "Explorar" e estender e atribua a ela o nome da visualização estendida.

explore: new_explore {
  extends: [orders]
  from: extended_orders_view
  #The normal contents of the Explore follow
}

Como usar extends para limitar campos para usuários diferentes

Um caso de uso muito útil para estender uma exploração é exibir apenas um subconjunto dos campos dela para determinados usuários. Por exemplo, suponha que você tenha uma exploração products com todos os campos disponíveis nas tabelas mescladas:

explore: products {
  view_name: products
  from: products
  join: inventory_items {
    type: left_outer
    sql_on: ${products.id}=${inventory_items.product_id} ;;
    relationship: many_to_one
  }

  join: order_items {
    type: left_outer
    sql_on: ${order_items.inventory_item_id}=${inventory_items.id} ;;
    relationship: one_to_one
  }
}

Se você tem uma equipe que só precisa ver a categoria dos produtos e as devoluções, amplie a seção products "Explorar" e use o parâmetro fields para especificar que apenas os campos "Categoria do produto" e "Devoluções" precisam ser incluídos:


explore: products_extended {
  extends: [products]
  fields: [products.category,order_items.returned_date]
}

O Explorar products_extended exibirá apenas estes dois campos: products.category e order_items.returned_date.

Como ampliar uma exploração em vários modelos

As explorações geralmente são definidas em um arquivo de modelo. Se você quiser estender uma exploração, basta definir a extensão no mesmo arquivo do modelo, como nos exemplos acima.

No entanto, se você quiser estender um recurso "Explorar" para vários modelos, crie um arquivo diferente do "Explorar" para usar como um arquivo de base. Depois de definir a base de exploração no próprio arquivo, você pode incluir o arquivo de exploração no arquivo do seu modelo e estender o recurso no arquivo do modelo.

Como é possível incluir um arquivo de exploração em outro, você também pode compartilhar esse arquivo em vários outros, se necessário.

Os arquivos do Explorar vão detectar a conexão do modelo incluído. Lembre-se disso ao incluir os arquivos Explorar em modelos configurados com uma conexão diferente do modelo pai do arquivo Explorar. Se o esquema da conexão do modelo incluído for diferente do esquema da conexão do modelo pai, isso poderá causar erros de consulta.

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 de exploração são aditivos:

No exemplo a seguir, a exploração aircraft_base usa o parâmetro join para mesclar a visualização aircraft à visualização aircraft_types:


explore: aircraft {
  view_name: aircraft
  label: "Aircraft"

  join: aircraft_types {
    type: left_outer
    sql_on: ${aircraft.aircraft_type_id} = ${aircraft_types.aircraft_type_id} ;;
    relationship: many_to_one
  }
}

E a exploração aircraft_extended estende a exploração aircraft_base. Além disso, a exploração aircraft_extended tem um parâmetro join que é integrado à visualização aircraft_engine_types:


explore: aircraft_extended {
  extends: [aircraft]
  label: "Aircraft Extended"

  join: aircraft_engine_types {
    type: left_outer
    sql_on: ${aircraft.aircraft_engine_type_id} = ${aircraft_engine_types.aircraft_engine_type_id} ;;
    relationship: many_to_one
  }
}

O parâmetro join é aditivo, portanto, a visualização resultante vai mostrar as visualizações mescladas na visualização base e as visualizações mescladas na visualização estendida. Nesse caso, a exploração aircraft_extended contém as visualizações aircraft, aircraft_types e aircraft_engine_types:

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.