Macro em SAS para verificar a existência de uma base

A macro abaixo, adaptação do próprio site da empresa SAS, verifica a existência de um arquivo antes de começar a fazer a tarefa demandada. No exemplo, a função exist() é utilizada e o parâmetro recebido é o nome do arquivo – com a libname, obviamente. A única tarefa do exemplo é exibir o dataset, qualquer outra tarefa que você queira fazer é só substituir o trecho do proc print:

%macro verifica_dataset(nome_dataset);
   %if %sysfunc(exist(&nome_dataset)) %then %do;
      proc print data = &nome_dataset;
      run;
   %end;
   %else %do;
      data _null_;
         file print;
         put # 3 @ 10 "Dataset &nome_dataset. não existe";
      run;
   %end;
%mend;

Testamos primeiro um exemplo com um dataset que existe:

/*Cria tabela exemplo*/
data compras;
     input dt_compra $ vlr_compras;
     cards;
 20151102 1000
 20151010 500
 20161201 650
 20140130 900
;
run;

/*verifica se tabela compras existe*/
%verifica_dataset(compras);

Agora uma tabela que não existe:

%verifica_dataset(compras_v293834)

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *