Hi! Ive come across a issue that I cant seem to find the answer to. Any recommenations most appreciated. I would like create a series of global variable from inside a macro, the variable name needs to be change according to its contents. However I can not use call symput as this is only used in datastep, and I am unaware how(if) a %let command can have dynamicf (changing) variable name. Kind Regards, Tekla Example %macro create_string(inf, varlist); *loopar infile * frågor; %let w = %str(); %do p= 1 %to %sysfunc(countw(&inf.)); %do i= 1 %to %sysfunc(countw(&varlist.)); %let a = %scan(&inf.,&p.); %let r = %sysfunc(cats(%scan(&inf.,&p.),%scan(&varlist.,&i.))); %let v = &v.&r.hh; %end; %let w = %sysfunc(tranwrd(&v.,hh,%str())); call symput('x'||&a.,&w.); * <-- here is the problem - only works in data step - not inside a macro!; %let w = %str(); %end; %mend; %create_string(&alla_in., &allv.);
... View more