Sobre o Join no Spotfire


Cruzar bases de dados é chamado de “join”, nas linguagens SQL.

É sempre algo confuso. Espero esclarecer um pouco como se faz isto no Spotfire.

Imagine que tenho duas tabelas.

A primeira com um cadastro de nomes:

E uma segunda com o valor pago por mês:

Há sempre dois problemas em banco de dados: dados inexistentes e dados duplicados.
Temos tantas formas de join por conta disso. Como tratar dados inexistentes? Como tratar dados duplicados? Como tratar ambos?

Nas tabelas acima, “Arnaldo” tem duas linhas na tabela 2.
“Júlia” não aparece no cadastro.

Como cruzar as bases?

Primeiro, importar as mesmas. Chamei a primeira de “Base1” e a segunda de “Base2”, mas talvez fosse melhor chamar de base esquerda e direita.




Depois, inserir -> coluna…

A Base1 aparece na primeira opção, “Adicionar colunas à tabela de dados”
A Base2 eu seleciono, e ela vai aparecer em “Adicionar colunas de:”.
Clicar em “Próximo”

A seguir, dizer qual será a chave para cruzar as colunas.
No caso, o Nome: basta selecionar Nome em ambas colunas e “Combinar Selecionado”.

A próxima tela é o problema.


São os diversos tipos de join.

Mas, antes, selecionar a coluna “Valor”, que é a que vou puxar para a Base1 (ou à esquerda).

Vou começar do mais fácil, independente da ordem que aparece na lista.


Caso 1: Correspondência única da esquerda. O caso mais fácil, por ser igual ao procv do Excel.

Resultado:

Note que puxa o primeiro valor de “Arnaldo” e despreza o segundo valor.

Note também que “Júlia” não aparece, por estar apenas na segunda tabela. É idêntico ao procv.


Case 2: Exterior esquerdo.

Note que a primeira linha, “Arnaldo”, duplica. Constam agora os dois valores.
E “Júlia” não aparece.

É por isso que a pessoa deve saber o que está fazendo, corre o risco de duplicar dados sem querer.

“Exterior esquerdo” é algo como “todos da tabela da esquerda (no caso, Tab1)”.


Caso 3: Exterior completo:

Neste caso, duplica a primeira linha, “Arnaldo”, como antes.

E agora, a “Júlia”, que nem aparece no cadastro, agora faz parte desta lista final.

Por isso o nome “completo”: completo na esquerda e na direita.


Caso 4: Interior

Se “Exterior” é algo como “todos”, “Interior” é algo como “intersecção”.

Agora, só a intersecção de quem está nas duas tabelas aparece. O “Carlos” sumiu, por não estar na base 2. E a “Júlia” sumiu, por não estar na base 1. E continua duplicando o “Arnaldo”.

Casos 5 e 6: tabela à direita.

A ideia é exatamente a mesma que antes, só que invertendo a posição das tabelas.


Ideias técnicas com uma pitada de filosofia: https://ideiasesquecidas.com

Ferramentas Excel-VBA: https://ferramentasexcelvba.wordpress.com/

Anúncios

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google

Você está comentando utilizando sua conta Google. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s