Eu escrevi uma macro sas que requer duas variáveis de entrada. Var1
é uma variável de data. var2
começa com and pern in(
e termina com )
, o colchete contém uma série de números separados por vírgulas.
%let var1 = '01DEC2011'd;
%let var2 = and pern in (10107,11308,11703,11850);
Agora, primeiro defino as variáveis de entrada, depois defino a macro e a executo. Funciona bem
%let var1 = '01DEC2011'd;
%let var2 = and pern in (10107,11308,11703,11850);
%macro program;
...
%mend;
%program;
No entanto, quero mudar a maneira como atribuo variáveis de entrada e deixar minha macro se parecer com o seguinte:
%macro program(var1, var2);
...
%mend;
%program( '01DEC2011'd, and pern in (10107,11308,11703,11850));
Como tanto var1 quanto var2 contêm os caracteres especiais ', e (), a macro não pode ser executada corretamente. Alguém pode me ensinar como chamar minha macro, por favor.
Corri o seguinte e parece funcionar bem. que erro você está tendo?
%let var1 = '01DEC2011'd;
%let var2 = and pern in (10107,11308,11703,11850);
%put &var1 ' ' &var2 ;
%macro test(var1,var2);
%put &var1 ' ' &var2;
%mend test;
%test('01DEC2011'd,and pern in (10107,11308,11703,11850));
Este artigo é coletado da Internet.
Se houver alguma infração, entre em [email protected] Delete.
deixe-me dizer algumas palavras