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. |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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!