Мне нужно перебрать некоторые макропеременные в моем шаге данных
я попытался определить макропеременную и построить их динамически в
шаг данных, как это
DATA _NULL_;
call symputx('_rbank_1',put(001,z3.));
call symputx('_rwebhost_1','company1.myhost.com');
call symputx('_rbank_2',put(008,z3.));
call symputx('_rwebhost_2','company2.myhost.com');
call symputx('_rbank_3',put(008,z3.));
call symputx('_rwebhost_3','company3.myhost.com');
RUN;
%let _rbank_1 = &_rbank_1;
%let _rwebhost_1 = &_rwebhost_1;
%let _rbank_2 = &_rbank_2;
%let _rwebhost_2 = &_rwebhost_2;
%let _rbank_3 = &_rbank_3;
%let _rwebhost_3 = &_rwebhost_3;
data test;
do cnt=1 to 3;
macroString=compress("&_rwebhost_"||cnt);
marcroValue=macroString;
end;
run;
Но вывод macroValue - "& _rwebhost_3", и мне это нужно
быть значением, а не именем.
Я могу сделать это в макросе, но мне действительно нужно это в шаге данных.
Обычно на другом языке программирования я бы определил хеш-таблицу
но это не так просто в sas datastep.