全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
2430 2
2018-08-10
复制代码
如上是数据集,每个appl_no中第一个一起出现的1,2,3...对应赋值为1,下一个一起出现的1,2,3...对应赋值为2,以此类推
希望得到的结果是:
复制代码
谢谢各位大神指点!

二维码

扫码加我 拉你入群

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

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

全部回复
2018-8-10 17:11:27
data test;
  input apply_no $ no;
  cards;
01 1
01 2
01 3
01 0
01 1
01 2
01 3
01 1
01 2
02 0
02 1
02 2
;
run;

data test1;
   set test;
   id=_n_;
run;

proc sort data=test1;
   by apply_no no;
run;

data test2;
   retain num;
   set test1;
   by apply_no no;
   if no=1 then do;
      if first.no then num=1;
      else num+1;
   end;
   else call missing(num);
run;

proc sort data=test2;
   by id;
run;

data want;
   set test2;
   retain tmp tmp_on;
   if not missing(num) then do;
      tmp=num;
      tmp_on=1;
   end;
   if missing(num) and dif(no)^=1 then tmp_on=0;
   if missing(num) then num=(tmp*tmp_on)+(no*(1-tmp_on));
   keep apply_no no num;
run;
二维码

扫码加我 拉你入群

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

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

2018-8-15 18:14:56
l1i2n3i4n5g 发表于 2018-8-10 17:11
data test;
  input apply_no $ no;
  cards;
太有才了,这办法都想出来了,非常感谢!!
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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