BookmarkSubscribeRSS Feed
Dica da semana: Merge vs. Join, qual utilizar?
pkusniaruk
SAS Employee

O SAS possui uma grande flexibilidade na forma de realizar a junção de duas ou mais tabelas. É possível utilizar tanto o comando Merge, nativo da linguagem SAS, quanto o Join em linguagem SQL, através da PROC SQL. 

Cada um desses comandos possui suas peculiaridades, vantagens e desvantagens. Mostramos abaixo uma tabela com um resumo das principais diferenças encontradas nesses dois tipos de comando, o que pode te ajudar na hora de decidir por qual usar:

 

 

 

 Assunto 

Merge 

SQL Inner Join 

Números de Datasets / Tamanho 

Não existe limite de quantidade ou tamanho das tabelas que serão juntadas, exceto pelo espaço em disco 

Número máximo de tabelas no Join: 256 

Processamento de Dados 

Sequencial, observações com valores repetidos na(s) variável(is) definida(s) no BY serão juntadas uma a uma. (Sem duplicar os registros) 

Gera produto cartesiano para observações com valores repetidos na(s) variável(is) definida(s) no BY. 

Gravar Datasets 

Possibilidade de criar múltiplos datasets com um único data step. 

Somente um dataset pode ser criado por query. 

Datasets ordenados/indexados 

Necessita que os datasets de origem estejam ordenados. 

Não tem a necessidade dos datasets de origem estarem ordenados. 

Variáveis com mesmo nome 

Variável contida no BY deve possuir o mesmo nome em todos os data sets de origem. 

Variáveis chaves no join não precisam ter o mesmo nome. 

3 Comments
ederbal
Fluorite | Level 6

Anotado essas diferenças. Valeu!

 

DaniloTrindade
Fluorite | Level 6

Gostei da tabela! Além disso, também fiz anotações quando estava estudando (e ainda estou) e compartilhei, em formato PDF, um arquivo com algumas técnicas e diferenças, sql x merge estará anexo para complementar o conteúdo do post. Assim, espero que seja útil e ajude a compreender tais conceitos e algumas regras envolvidas.

 

Obs. infelizmente o link no rodapé do arquivo não existe mais.

Holmes
Obsidian | Level 7

Caiu como uma luva aqui pra mim. Valeuuuu

Ready to join fellow brilliant minds for the SAS Hackathon?

Build your skills. Make connections. Enjoy creative freedom. Maybe change the world. Registration is now open through August 30th. Visit the SAS Hackathon homepage.

Register today!
Article Labels
Article Tags