Basically I oversimplified things. My real problem is more like the below %macro Test(c,b,a);
%do i=4 %to 6;
data &c.&i.;
set sashelp.&b.&a.;
run;
%end;
%mend Test;
%Test(First,Cars,(where=(cylinders=&i.))); %Test(Second,Cars,(where=(Cylinder_test=&i. and cylinder_true=&i.))); Basically i want 6 datasets - First4, First5, First6, Second4, Second5, Second6. But the second datasets come from a dataset that is laid out slightly differently and needs a different where statement - because different variable names etc.. I could just write out 2 datasteps with different where statements however in my actual code i am creating hundreds of datasets so not really feasible - well it is it would just be a massive ugly program. The best was of doing this i thought was to create a where statement as a macro variable and insert back into the code. Then it just takes up 1 line of space. Probably not the best way of doing what i need to do but it's how my brain has framed the problem - in any case, someone has worked a solution below!
... View more