全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
1152 2
2019-05-28
哪位大神会,现在还不懂循环,帮一下忙。同一个身份证号下 如果第一条的结束时间等于第二条的开始时间,则将两条合并,用第二条的结束时间替换第一条的结束时间,以此类推  :例如 {899E0B17-D0BD-4C76-AFD4-BC49FF2B5DFC}_20190528164322.jpg
二维码

扫码加我 拉你入群

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

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

全部回复
2019-5-28 21:51:12
请提供样本数据。
二维码

扫码加我 拉你入群

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

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

2019-5-29 12:13:03
data test;
informat start end date9.;
format start end yymmdd10.;
input id $18. start end;
cards;
123456789123456789 '01jan2019'd '05jan2019'd
123456789123456789 '05jan2019'd '08jan2019'd
123456789123456789 '08jan2019'd '20jan2019'd
123456789123456777 '01jan2019'd '05jan2019'd
123456789123456777 '06jan2019'd '08jan2019'd
123456789123456777 '08jan2019'd '20jan2019'd
;
run;

data want;
   do i=1 to nobs;
      set test point=i nobs=nobs;
      do j=i+1 to nobs;
         set test(rename=(id=id1 start=start1 end=end1)) point=j;
         if id=id1 and end=start1 then do;
            end=end1;
            i+1;
         if j=nobs then output;
         end;
         else do;
            output;
            goto next;
         end;
      end;
      next:
   end;
   stop;
   drop id1 start1 end1;
run;

proc print;run;
二维码

扫码加我 拉你入群

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

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

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

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