SAS: Executando diversos códigos em um só com o include

Assim como é possível chamar outros códigos no R e utilizar algumas funções prontas, no SAS algo semelhante pode ser feito declarando INCLUDE.

Quando você utiliza o include seguido de um caminho com um programa SAS, o que vai acontecer é que esse programa será executado. Sendo assim, você pode rodar diversos códigos em um projeto só, pode consolidar as suas libnames em um lugar só, enfim, há várias alternativas, todas com o include.

Uma situação hipotética: sua empresa possui uma base padrão, dentro de um DW qualquer, com um campo de data no formato string “ddmmaaaa”. Vamos supor que você tenha criado um projeto no qual um dos programas seja uma macro, denominada trata_data, que recebe a base padrão e converte o campo string para o formato data padrão do SAS. Você utilizou essa macro nesse projeto, mas ela é pode ser útil em vários outros estudos. O que você pode fazer é salvar essa macro como um programa em um diretório e quando você precisar utilizá-la em outro código, você utilizará algo como a sintaxe:

*chama a macro que tratara a data da base padrao (base_in) 
*e gera uma base com campo tratado (base_out);
%include '/sasdata/minhaempresa/macro_trata_data.sas';
%trata_data(base_in, base_out);

Outra forma de utilizar o include é na automatização de alguns processos. Vamos supor que você tenha criado um modelo estatístico que gera o rating das empresas clientes do seu banco e você deseja automatizar o processo de geração de rating para várias bases diferentes que chegarão mensalmente. Para isso, você pode criar diversos programas que receberão algumas variáveis, como a base de entrada e uma base de cadastro que enriquecerá a base de entrada, e rodá-los todos com o include. O exemplo abaixo pressupõe um programa chamado gera_rating_empresa.sas e dentro desse programa você possui duas variáveis/bases que devem ser passadas pelo usuário chamadas base_in e base_endereco (lembre-se que no programa elas precisam ser chamadas com &base_in e &base_endereco):

*insira o nome da base de entrada com campo CNPJ com 14 dígitos (string);
%let base_in = base_entrada_yyyymmdd;

*passe a base que enriquecera com as informacoes de endereco;
%let base_endereco = base_endereco_yyyymmdd;

*execute o programa;
%include "/sasdata/.../gera_rating_empresa.sas";

Não se esqueça de ficar craque em macros / let: Macros e a expressão Let no SAS

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