是这样我需要把一个macro里面的input FullList(形式为x1 x2 x3 x4)改为 x1^=. and x2^=. and x3^=. and x4 ^=.
于是我先写了个把前者转换为后者形式的code
%macro convertA(pound);
%let newlist2=%qsysfunc(scan(£,1,%str( )))^=.;
%let i=2;
%do %while (%qsysfunc(scan(£,&i,%str( )))^= ) ;
%let newlist2=&newlist2 and %qsysfunc(scan(£,&i,%str( )))^=. ;
%let i=%eval(&i+1);
%end;
&newlist2
%mend convertA;
然后在后面的macro里的where里把它加上去
%let c=%convertA(&FullList);where %eval(c);这样写就不能work 不知道怎样才能让这个形式达到 where x1^=. and x2^=. and x3^=. and x4 ^=. ; 同样的效果谢谢大家了!!!!!!