1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
|
option symbolgen mprint;
data test;
input var1 $;
cards;
a
a
b
b
b
c
c
;
run;
%let param=%bquote(param1=a,param2=b);
%macro Liste();
%let i = 1;
%let param_&i = %scan(%scan(¶m,&i,%str(%(,%))),2,%str(%(=%)));
%do %while (%str(&¶m_&i) ne %str());
%let i = %eval(&i+1);
%let param_&i =%scan(%scan(¶m,&i,%str(%(,%))),2,%str(%(=%)));
%end;
%put &PARAM_1;
%put &PARAM_2;
/*Exemple d'application*/
data test1;
set test(where=(var1="¶m_1"));
run;
data test2;
set test(where=(var1="¶m_2"));
run;
%mend Liste;
%Liste; |
Partager