怎样将sas数据集按行拆分,并输出到txt文档里

2025-03-20 19:23:51
推荐回答(1个)
回答1:

/*将一个数据集中的每一个观测单独生成一个txt文件*/
/*dataset:逻辑库名.数据集名,例如work.a ,outpath:输出路径,例如C:\Users\Administrator\Desktop,不要加引号 */
%macro export(dataset,outpath);
/*获取观测总数*/
data _null_;
set &dataset nobs=nobs;
call symputx('nobs',nobs);
run;

/*拆分*/
%do i=1 %to &nobs;
data &dataset&i;
set &dataset;
if _n_=&i;
run;
%put &dataset.&i;

/*生成txt文件*/
proc export data=&dataset&i outfile="&outpath.\obs_&i..txt" dbms=TAB REPLACE;
run;

/*删除产生的子数据集*/
proc delete data=&dataset&i;run;
%end;
%mend export;

%export(dataset,outpath);