Jump to content

Utilização do conceito de CTE dentro do metabase


kassia.andrade

Postagens Recomendadas

Olá pessoal , tudo bem?

Vou falar um pouco sobre o uso da funcionalidade de  CTEs dentro do Metabse.

Existe uma forma dentro do ambiente Metabase que é possível criar uma  CTE (referenciar uma query existente ) onde os demais componentes do dashboard irá sempre chamar  esta query principal  sem a necessidade de escrever todo código SQL novamente.
desde que não exista filtros no dashboard.
 
 Passo a passo:
 

COMPONENTE 1:
 Crie a query normalmente. exemplo:
 
    SELECT 
        *
    FROM   
        orders AS o
   INNER JOIN products AS p
               ON o.product_id = p.id
    WHERE  p.category = 'blabla'
       AND o.created_at BETWEEN '2019-01-01' AND '2019-12-31'

 

COMPONENTE 2:

No componente que irá referenciar a query acima somente crie {{#}} no where  da query e selecione no canto direito  na aba variables no filtro dropdown question# o nome do componente onde esta a query principal, assim é possível fazer a ligação entre as queries :
 
     SELECT 
        *
    FROM
        {{#}}    
 image.png
 
 

image.png
 
 Simples, fácil e poupa tempo. Agora o componente 2 consegue acessar a query do componente 1 como se fosse uma CTE.

Ponto negativo, havendo a necessidade de ter um filtro de período de  data no dashboard , por exemplo, não seria possível utilizar essa lógica. Se na query principal existir um filtro , este não surtira efeito no componente que referencia a query principal. 
O que pode mudar a qualquer momento com as atualizações da ferramenta , muitas funcionalidades podem ser melhoradas e  adicionadas a cada atualização. Se a funcionalidade de CTE for capaz de aceitar filtros , então essa técnica seria muito valiosa para poupar código e tempo e aumentar a produtividade.  

 

  • Curtir 1
Link to comment
Compartilhe em outros sites

Crie uma conta ou entre para comentar 😀

Você precisa ser um membro para deixar um comentário.

Crie a sua conta

Participe da nossa comunidade, crie sua conta.
É bem rápido!

Criar minha conta agora

Entrar

Você já tem uma conta?
Faça o login agora.

Entrar agora
  • Quem está online   0 Membros, 0 Anônimos, 20 Visitantes (Ver lista completa)

    • There are no registered users currently online


×
×
  • Create New...