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.