全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
3137 6
2018-01-04
需要merge四十多个数据集,数据集比较规范,Y1,Y2---Y50.,其中 2,4,6,10是空的数据集。如果来跳过这些空的数据集来横向合并。data y;
merge y1 y2 y3 y4 y5 y6 y7 y8 y9 y10 y11;
by date;
run;


1326  data y;
1327  merge y1 y2 y3 y4 y5 y6 y7 y8 y9 y10 y11;
1328  by date;
1329  run;

ERROR: BY 变量 date 不在输入数据集 WORK.Y2 中。
ERROR: BY 变量 date 不在输入数据集 WORK.Y4 中。
ERROR: BY 变量 date 不在输入数据集 WORK.Y6 中。
ERROR: BY 变量 date 不在输入数据集 WORK.Y10 中。
NOTE: 由于出错,SAS 系统停止处理该步。
WARNING: 数据集 WORK.Y 可能不完整。该步停止时,共有 0 个观测和 29 个变量。
NOTE: “DATA 语句”所用时间(总处理时间):
      实际时间          0.01 秒
      CPU 时间          0.01 秒



二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2018-1-4 14:30:37
data want;
   merge y:;
   by date;
run;
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2018-1-4 14:40:40
还是会出错。无法解决空的数据集
1941  data y;
1942  merge y:;
1943  by date;
1944  run;

ERROR: BY 变量 date 不在输入数据集 WORK.Y10 中。
ERROR: BY 变量 date 不在输入数据集 WORK.Y2 中。
ERROR: BY 变量 date 不在输入数据集 WORK.Y4 中。
ERROR: BY 变量 date 不在输入数据集 WORK.Y6 中。
NOTE: 由于出错,SAS 系统停止处理该步。
WARNING: 数据集 WORK.Y 可能不完整。该步停止时,共有 0 个观测和 29 个变量。
WARNING: 数据集 WORK.Y 由于该步已停止,而没有被替换。
NOTE: “DATA 语句”所用时间(总处理时间):
      实际时间          0.01 秒
      CPU 时间          0.01 秒
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2018-1-4 15:01:44
或者用其他方法合并,或者想办法把空数据集删除
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2018-1-4 22:00:20
%macro merge();
%do i = 1 %to 50;
data y&i.;
set y&i.;
if date = . then date = .;
run;
%end;
data y;
merge
%do j = 1 %to 50;
y&j.
%end;;
by date;
run;
%mend merge;
%merge();
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2018-1-5 09:33:11
proc contents data=work._all_ out=tmp_all(keep=memname nobs where=(nobs^=0)) noprint;run;

proc sql noprint;
        select distinct strip(memname) into : tbl_all separated by ' '
          from tmp_all
         where memname like 'Y%';
quit;

%put &tbl_all.;

data        Y;
  merge &tbl_all.;
     by date;
run;
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群