data l; input id age; cards; 2 2 2 2 run; data l2; input amt rupees; cards; 3 4 5 6 run; proc sql; select count(*) into :cnt from l2; quit; %macro cal; %do i =1 %to &cnt; data _null_; set l; call symput('id',id); call symput('age',age); run; data l2; set l2; amt =amt *&id; rupees=rupees*&age; run; %end; %mend; %cal; output shd be for L2 6 8 10 12