我尝试使用SAS 9.4数据哈希obj。 这里有一些代码:
data joined;
if 0 then set data1 data2;
if _n_=1 then do;
declare hash merger (dataset:'data2');
merger.definekey('some_key');
merger.definedata('col1','col2');
merger.definedone();
end;
set data1;
if merger.find(key:some_key)=0 then output;
run;
现在我想把它打成像:
%let list=2 3 4 5;
data joined;
if 0 then set data1 data_&i.;
if _n_=1 then do;
declare hash merger (dataset:'data_&i.');
merger.definekey('some_key');
merger.definedata('col1','col2');
merger.definedone();
end;
set data1;
if merger.find(key:some_key)=0 then output;
run;
但是我看到这个问题引用了这里:
dataset:'data_&i.'
如何将此字符串转换为sas代码? 在python中我可以像str(data [i]);
那样做smth答案 0 :(得分:3)
使用双引号,宏变量将解析。
declare hash merger (dataset:"data_&i.");