Estou executando um código semelhante ao seguinte e a etapa de dados não está funcionando e não consigo entender por que
%macro macro_1(variable);
rsubmit;
data want_&variable. (keep = a b c);
set have;
run;
endrsubmit;
%mend macro_1;
%macro testing;
%do i=1 %to 3;
%macro_1(&i.); /* My loop here*/
%end;
%mend testing;
%testing;
Aqui está o erro que continuo recebendo:
Erro de sintaxe, esperando um dos seguintes: um nome, uma string entre aspas, (, /, ;, DATA , LAST , NULL .
Eu tentei usar o e comercial duplo ou usar mais pontos no final, mas sem sucesso
Muito obrigado por qualquer ajuda!
Você definiu a variável de macro VARIABLE na máquina local, mas o código que está usando a variável de macro está sendo executado na máquina remota. Tente enviar o valor para a máquina remota antes de tentar usá-lo.
%macro macro_1(variable);
%syslput variable=&variable;
rsubmit;
data want_&variable. (keep = a b c);
set have;
run;
endrsubmit;
%mend macro_1;
Este artigo é coletado da Internet.
Se houver alguma infração, entre em [email protected] Delete.
deixe-me dizer algumas palavras