tabela_derivada

Uso

view: my_view {
derived_table: { ... }
}
Hierarquia
derived_table
Valor padrão
Nenhuma

Definição

Uma tabela derivada pode ser tratada como se fosse uma tabela normal no banco de dados. É possível criar um dos seguintes tipos de tabelas derivadas:

Alguns casos extremos não permitem o uso do parâmetro sql. Nesses casos, o Looker oferece suporte aos seguintes parâmetros para definir uma consulta SQL para PDTs:

  • create_process
  • sql_create
  • Com o parâmetro sql, create_process ou sql_create, em todos esses casos, você está definindo a tabela derivada com uma consulta SQL. Portanto, todas elas são consideradas tabelas derivadas baseadas em SQL.

    O parâmetro derived_table inicia uma seção do LookML em que você define como uma tabela derivada deve ser calculada, quais índices ou chaves ela deve usar e quando ela deve ser gerada novamente.

    Elas podem ser tabelas derivadas temporárias, que são calculadas ad hoc conforme os usuários solicitam dados delas, ou tabelas derivadas permanentes (PDTs, na sigla em inglês) mantidas no banco de dados usando uma estratégia de persistência.

    Se o administrador tiver ativado os PDTs Labs e se seu dialeto for compatível, você poderá usar os PDTs incrementais no seu projeto. Uma PDT incremental é uma PDT criada de forma incremental anexando novos dados à tabela, em vez de recriar a tabela inteira. Consulte a página de documentação de PDTs incrementais para mais informações.

    Consulte a página de documentação Tabelas derivadas no Looker para mais informações sobre tabelas derivadas.

    Examples

    Crie uma tabela derivada nativa de customer_order_facts com o parâmetro explore_source:

    view: customer_order_facts {
      derived_table: {
        explore_source: order {
          column: customer_id { field: order.customer_id }
          column: lifetime_orders { field: order.count }
          column: lifetime_spend { field: order.total_spend }
        }
      }
    }
    

    Crie uma tabela derivada customer_order_facts com o parâmetro sql:

    view: customer_order_facts {
      derived_table: {
        sql:
          SELECT
            customer_id,
            COUNT(*) AS lifetime_orders,
            SUM(total) AS lifetime_spend
          FROM
            order
          GROUP BY
            customer_id ;;
      }
    }
    

    Considerações

    Evite o uso excessivo de tabelas derivadas para criar soluções puras de SQL.

    Os usuários que entendem bastante de SQL costumam usar tabelas derivadas para resolver problemas com consultas SQL complexas, e os resultados podem ser expostos aos usuários. Às vezes, pode ser necessário fazê-lo, mas ele também pode perder a natureza modular e reutilizável do LookML e pode travar os usuários em formas rígidas de explorar seus dados.

    Nossa sugestão geral é pensar na finalidade subjacente da consulta SQL e converter essa lógica em LookML, em vez de copiar e colar as consultas existentes em uma tabela derivada. Se você precisar de ajuda para criar análises que não dependam de tabelas derivadas, os analistas de suporte do Looker estão aqui para ajudar com as práticas recomendadas.

    Dialetos de banco de dados compatíveis com tabelas derivadas

    Dialetos de banco de dados compatíveis com tabelas derivadas temporárias

    Para que o Looker ofereça suporte a tabelas derivadas no projeto Looker, seu dialeto de banco de dados também precisa dar suporte a elas. A tabela a seguir mostra quais dialetos são compatíveis com as tabelas derivadas na versão mais recente do Looker:

    Dialetos de banco de dados compatíveis com tabelas derivadas permanentes

    Para que o Looker ofereça suporte a PDTs no projeto do Looker, o dialeto do banco de dados também precisa oferecer suporte a eles.

    Para oferecer suporte a qualquer tipo de tabelas derivadas permanentes (com base em LookML ou SQL), o dialeto precisa oferecer suporte a gravações no banco de dados, entre outros requisitos. Algumas configurações de banco de dados somente leitura não permitem que a persistência funcione (geralmente bancos de dados de réplica de hot swap do Postgres). Nesses casos, use tabelas derivadas temporárias.

    A tabela a seguir mostra os dialetos com suporte a tabelas derivadas baseadas em SQL persistentes na versão mais recente do Looker:

    Para oferecer suporte a tabelas derivadas nativas persistentes (que têm consultas baseadas em LookML), o dialeto também precisa ser compatível com uma função DDL CREATE TABLE. Veja uma lista dos dialetos compatíveis com tabelas derivadas nativas (baseadas no LookML) na versão mais recente do Looker:

    As PDTs não são compatíveis com conexões Floco de neve que usam OAuth.

    Dialetos de banco de dados compatíveis com PDTs incrementais

    Para que o Looker ofereça suporte a PDTs incrementais no seu projeto do Looker, o dialeto do banco de dados precisa ser compatível com comandos da Linguagem de definição de dados (DDL) que permitem excluir e inserir linhas.

    A tabela a seguir mostra quais dialetos são compatíveis com PDTs incrementais na versão mais recente do Looker: