Acompanhando a execução da macro no SAS

Mostrei no post Acompanhando o processo no SAS utilizando o Sysecho como utilizar o comando sysecho para acompanhar um procedimento extenso, algo que leva muito tempo para ser executado ou com muitas etapas. Porém, seria interessante também fazer um acompanhamento parecido quando executamos uma macro.

Leia mais…

Acompanhando o processo no SAS utilizando o Sysecho

Algumas pessoas escrevem programas grandes, ou demorados, no SAS e colocam para rodar tudo que está dentro de uma vez só. Esses programas podem ter vários data step ou ‘procs’, e é sempre interessante saber em qual etapa exatamente o SAS está. Para isso nós temos o sysecho.

É bem simples, após escrever seu data step ou proc, você inclui o sysecho seguido por um texto (a sua escolha) entre aspas descrevendo o que está sendo executado. Veja o exemplo abaixo:

data base_1;
    sysecho "Cria a variavel coluna_nova";
    set base_de_dados;
    coluna_nova = coluna_1 + coluna_2;
run;

proc sql;
    sysecho "Une com a base 2";
    create table base_2 as
    select a.*,b.*
    from base_1 as a
    left join base_nova as b
    on a.coluna_1 = b.coluna_1;
run;

data base_3;
    sysecho "Cria variavel coluna_x";
    set base_2;
    if coluna_1 > 0 then coluna_x = 'positivo';
    else if coluna_1 = 0 then coluna_x = 'nulo';
    else if coluna_1 < 0 then coluna_x = 'negativ;
    else coluna_x = 'missing';
run;

Veja que fácil agora. Quando você apertar o F3 e deixar esse código rodando, você saberá exatamente em que trecho do programa o SAS está, basta olhar no canto inferior esquerdo que você verá o nome que está ao lado do sysecho do data ou proc em execução!