data aaa;
input x y;
cards;
1 2
3 4
;
run;
%macro aaa;
data _null_;
set aaa;
do i=1 to 2;
if _N_ =i then do;
call symput('Value',x);
call symput('TagValue',y);
%put &value;
%put &tagvalue;
end;
end;
run;
%mend;
%aaa;
Hasilnya adalah 3 4, bukan 1 2 3 4. Bagaimana cara mengulang untuk mengambil nilai dari kumpulan data? Terima kasih!
&Value
menjadi1 3
dan&TagValue
menjadi2 4
? Apakah Anda mengharapkan&Value
dan&TagValue
menjadi array (yang tidak mungkin, tetapi Anda dapat membuat&Value1
,&Value2
&TagValue1
dan&TagValue2
lalu menulis%do suffix = 1 %to 2; blabla; %end;
)? Mungkin Anda harus menjelaskan kepada kami apa yang ingin Anda lakukan dengan mereka setelahnya. - person Dirk Horsten   schedule 18.01.2015