Blog com conteúdos sobre Marketing, Comunicação e Vendas

Estudo de caso SQL: juntando informações de bases diferentes

Escrito por Nathalia Curvelo | Dec 20, 2019 3:00:00 AM

Você acompanhou aqui no blog o grande lançamento que fizemos esse ano da nova funcionalidade do Cortex: a Query SQL. 

Para ajudar os usuários a aproveitar ao máximo as possibilidades oferecidas por essa função, preparamos uma série de conteúdos com estudos de caso do SQL. 

Ao longo de três posts vamos divulgar algumas situações comuns aos usuários da plataforma que podem ser facilitadas com o uso da nova feature de Query SQL.

Contexto

São muito comuns as situações em que os usuários precisam unir em uma mesma análise informações que estão em duas ou mais bases diferentes. 

Nesse primeiro caso, vamos utilizar uma base contendo dados de vendas e outra que contém os dados de metas de lojas, vendedores e categorias. O objetivo é fazer análises que comparem meta versus realizado no nível de vendedores, lojas, categorias e agregado.

Desafio

Originalmente as bases vêm de fontes diferentes. A base de metas é um input manual da equipe comercial, enquanto a de vendas vem de uma integração com o ERP da empresa. Por isso, as bases não são normalizadas antes de entrar na plataforma.

Uma opção para usar esses dados em conjunto seria por meio do blend de bases na plataforma. O problema é que o blend utiliza a função left join

Isso significa que os registros da base principal (base de vendas) vão se repetir, e os registros da base secundária (base de metas) que tiverem campos-chave em comum (e apenas esses) com a base principal vão ser adicionados. 

Portanto, se houver lojas, vendedores ou categorias sem dados de vendas, não vamos conseguir ver a meta destes na base do blend. Consequentemente, o agregado da meta também apareceria incompleto.

Mais sobre funções de join.

Solução

Neste caso, o SQL se torna uma ótima opção pela possibilidade de realizar full join e criar uma base que contenha os campos necessários das bases de vendas e metas.

Veja abaixo como estruturar uma solução para este caso de uso em Query SQL. Lembre-se que ela pode ser adaptada para outros casos de cruzamento entre bases, onde cada base contém dados complementares.

Acesse o código SQL acima: https://bit.ly/2SfCba3