0
我想要一个程序,通过宏变量名称列表循环,并返回%DO循环内的每个宏变量的值,而不是仅返回宏变量名称。SAS通过宏变量循环
%let macro_list = AA BB CC;
%let loop = %sysfunc(countw(¯o_list.));
%let AA = 123;
%let BB = 456;
%let CC = 789;
%macro test();
%do i = 1 %to &loop.;
%let var = %scan(¯o_list.,&i);
%put &var.; /* I want this to return 123 not AA!!!*/
%end;
%mend test;
%test;
目前宏返回AA,BB,CC,而不是123,456,789
我也将开放给实现这个的其它方式的价值。谢谢!
当你询问'&var'时,它返回'var'的值,它是列表中的一个。请求'&& var.',并返回'&AA',然后解析为123.谷歌“解析双和号和SAS”以获取更多信息。 – mjsqu