Junções (CX)
Sobre junções
As junções permitem combinar linhas de 2 ou mais fontes de dados com base em uma coluna de dados relacionada que elas compartilham. Ao usar uma junção, você pode reunir e analisar os dados combinados de forma mais eficiente e eficaz, criando mais insights.
O modelador de dados só suporta left outer joins.
Compreendendo junções externas esquerdas
Para entender como uma junção externa esquerda funciona, vejamos um exemplo.
Veja a imagem do conjunto de dados abaixo. A primeira fonte de dados no topo é nossa fonte de dados “esquerda”, e a segunda fonte de dados na parte inferior é nossa fonte de dados “à direita”.
Digamos que essas tabelas representem os dados que você pode encontrar em cada pesquisa:
Locais da loja (fonte esquerda)
ID do local | Nome do local |
555 | Provo |
777 | Dublin |
999 | Seattle |
1000 | Tóquio |
Feedback do cliente (fonte correta)
ID do cliente | Satisfação (1-5) | ID do local |
101 | 2 | 555 |
102 | 4 | 777 |
103 | 5 | 999 |
104 | 5 | 222 |
Você opta por unir os dados com base no ID de localização. Este campo é chamado de “chave join”.
Estes são os dados exclusivos do segundo conjunto de dados. Isso seria removido:
ID do cliente | Satisfação (1-5) | ID do local |
104 | 5 | 222 |
Esta é a saída final ou todos os dados que seriam incluídos em seus resultados:
ID do local | Nome do local | ID do cliente | Satisfação (1-5) |
555 | Provo | 101 | 2 |
777 | Dublin | 102 | 4 |
999 | Seattle | 103 | 5 |
1000 | Tóquio | Nulo | Nulo |
Observe como os resultados de Provo, Dublin e Seattle contêm colunas de dados de ambas as fontes Direita e Esquerda, porque essas linhas compartilhavam IDs de localização comuns.
Não havia dados para Tóquio na fonte Direita e, por isso, a linha Tóquio tem valores nulos nas novas colunas ID do cliente e Satisfação.
Importância de chaves de join únicas
Como as chaves de junção ajudam a identificar linhas que precisam ser combinadas das fontes esquerda e direita, recomendamos garantir que a chave de junção usada atue como um identificador exclusivo. Caso contrário, se existirem vários registros na fonte direita que correspondam à chave de junção da fonte esquerda, somente um deles será puxado aleatoriamente.
Exemplo: vejamos o exemplo que discutimos acima. Temos a mesma fonte à esquerda. Mas na fonte correta, temos estas linhas:
ID do cliente | Satisfação (1-5) | ID do local |
101 | 2 | 555 |
107 | 4 | 555 |
Na junção resultante, somente uma das 555 linhas será salva, mas não ambas.
Se a chave de junção não for única para cada registro em uma fonte direita e você quiser incluir todos os registros da fonte direita e esquerda, uma união deve ser usada em vez disso. As uniões puxam cada um dos registros separadamente em vez de combinar as linhas de informação.
Criando junções
- Crie um modelo de dados.
- Adicione pelo menos duas fontes ao seu modelo de dados.
Qdica: inclua todos os campos necessários em suas fontes de dados, incluindo o campo comum que você usará para unir seus dados (por exemplo, uma ID exclusiva). - Clique no sinal de mais ( + ) ao lado da fonte de dados que você deseja que atue como sua fonte de dados à esquerda.
- Selecione Junção.
- Nomeie a saída. Isso é útil se você planeja adicionar várias junções ao seu conjunto de dados.
- Em Entrada, selecione a fonte de dados Direita.
- Crie uma condição join. Corresponder ao campo que cada conjunto de dados tem em comum.
Exemplo: estamos mapeando nosso campo ID exclusivo de cada fonte de dados entre si.Qdica: Campos de qualquer tipo podem ser usados em condições de junção. Recomendamos vivamente a utilização de um identificador único que corresponda entre as duas fontes de dados.Qdica: não é possível usar recodificações em chaves de união.
- Se você tiver pelo menos 1 outra fonte de dados separada abaixo das fontes associadas, poderá criar outra junção usando a junção existente.
- Você pode criar junções separadas no mesmo conjunto de dados. Nesta captura de tela, você juntaria os dados de 2022 Pesquisa e acionabilidade, mas não as 2 principais fontes de dados.
- Conclua a criação do modelo de dados com um conjunto de dados de saída.
Uso de junções auxiliares
As junções auxiliares permitem que você junte várias fontes com a mesma condição de junção. Assim, eles são úteis quando você deseja criar várias junções sobrepostas usando as mesmas fontes de dados.
Anteriormente, falamos sobre como os left outer joins funcionam com 2 fontes: uma fonte direita e uma fonte esquerda. As junções auxiliares permitem que você defina várias fontes esquerdas para a mesma fonte direita em uma junção.
Exemplo de uma junção auxiliar
Digamos que você tenha um banco de dados de localizações de loja, com nomes vinculados a IDs. Você tem 2 anos de pesquisas em que coleta feedback sobre suas lojas. No exemplo abaixo, encontraremos a classificação de satisfação e o ID do cliente para 2020 e 2021 e os vincularemos a um nome de localização.
Unidades gerenciais de loja (origem esquerda)
ID do local | Nome do local |
555 | Provo |
777 | Dublin |
999 | Seattle |
1000 | Tóquio |
Feedback do cliente 2020 (fonte correta)
ID do cliente | Satisfação (1-5) | ID do local |
101 | 2 | 555 |
102 | 4 | 777 |
103 | 5 | 999 |
104 | 5 | 222 |
Feedback do cliente 2021 (fonte auxiliar direita)
ID do cliente | Satisfação (1-5) | ID do local |
656 | 5 | 1000 |
838 | 4 | 222 |
979 | 3 | 999 |
343 | 5 | 777 |
Você junta os dados com base no ID da localização.
Esta é a saída final ou todos os dados que seriam incluídos em seus resultados:
ID do local | Nome do local | ID do cliente 2020 | 2020 Satisfação | ID do cliente 2021 | Satisfação 2021 |
777 | Dublin | 102 | 4 | 343 | 5 |
1000 | Tóquio | N/A | N/A | 656 | 5 |
999 | Seattle | 103 | 5 | 979 | 3 |
555 | Provo | 101 | 2 | N/A | N/A |
Observe como os dados de 2020 e 2021 se tornaram colunas separadas no mesmo conjunto de dados de saída.
Como 2020 não tinha dados para Tóquio, mas 2021 o fez, as colunas de 2020 estão vazias (N/A) para Tóquio. Da mesma forma, 2021 não tinha dados do Provo.
Os registros com ID de localização “222” de ambos os anos foram excluídos da fonte de dados final, uma vez que o arquivo de locais de armazenamento não tinha local correspondente para esse ID. Consulte Entender junções externas à esquerda para obter uma explicação de como os dados são excluídos.
Criação de uma junção auxiliar
- Clique na junção.
- Vá para as configurações de Junção.
- Clique no sinal de mais ( + ).
- Selecione a entrada correta.
Exemplo: Esta é a segunda fonte que você deseja unir à sua fonte esquerda. No nosso exemplo acima, essa seria a pesquisa de feedback de clientes de 2021. - Defina a condição de junção da coluna à esquerda.
- Defina a condição de junção da coluna à direita.
Repita as etapas conforme necessário para adicionar mais junções auxiliares.
Joins Auxiliares vs. Junções subsequentes
Além das junções auxiliares, você pode clicar no sinal de mais ( + ) ao lado da junção concluída e selecionar Junção. Chamaremos esse método de “junção subsequente”.
Geralmente, as junções auxiliares são úteis quando você deseja criar várias junções sobrepostas usando as mesmas fontes de dados. As junções subsequentes são melhores se você quiser criar uma junção com duas fontes de dados adicionais que não foram incluídas em sua primeira junção.
Qdica: Junções subsequentes também são úteis se você quiser fazer várias junções em que uma segunda chave de junção precisa ser extraída de outra fonte. Por exemplo, digamos que você tenha uma pesquisa com ID da loja.
- Você usa o ID da loja para unir esses dados a uma fonte separada com mais dados de localização.
- A fonte de dados de localização também tem um campo chamado “Store Manager”.
- Em sua terceira fonte, você tem informações de hierarquia da empresa nas quais está se juntando com base no campo “Gerente da loja”.
Usando esse método, os dados da pesquisa, os dados do local e a hierarquia da empresa podem ser todos combinados em um conjunto de dados.
No entanto, há momentos em que junções auxiliares e junções subsequentes podem ter a mesma saída.
Exemplo: expandindo em nosso exemplo acima, você obteria os mesmos resultados se criasse uma junção subsequente com o ID de unidade gerencial de unidades gerenciais de loja à esquerda e o ID de localização de 2021 à direita.
No entanto, quando você cria a primeira junção, isso não resulta em apenas um campo de ID de localização. Para este exemplo, você acaba com uma coluna para as versões Unidades gerenciais de loja e Feedback do cliente 2020 do ID da unidade gerencial. Se você tentar unir seus dados usando o código do local do feedback do cliente de 2020, os resultados serão diferentes daqueles com a junção auxiliar.
Veja como seria essa tabela de resultados. Como 2020 não tem dados para Tóquio, os dados de 2021 de Tóquio existentes são excluídos dos resultados finais.
ID do local | Nome do local | ID do cliente 2020 | 2020 Satisfação | ID do cliente 2021 | Satisfação 2021 |
777 | Dublin | 102 | 4 | 343 | 5 |
1000 | Tóquio | N/A | N/A | N/A | N/A |
999 | Seattle | 103 | 5 | 979 | 3 |
555 | Provo | 101 | 2 | N/A | N/A |