全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学
1490 6
2009-10-20
A        B    C
2008   0    0
2008   1    1
2008   2    2
2008   3    3
2007   4    1
2007   5    2
2007   6    3
2007   7    4
2006   8    2
2006   10  3
2006   11  4
2006   12  5
2005   13  3
2005   14  4
2005         5
2005         6
2004         4
2004         5
2004         6
2004         7
2003         5
2003         6
2003         7
2003         8
2002         6
2002         7
2002         8
2002         9
2001         7
2001         8
2001         9
2001         10
2000         8
2000         9
2000         10
2000         11
1999         9
1999         10
1999         11
1999         12
1998         10
1998         11
1998         12
1998         13
1997         11
1997         12
1997         13
1997         14
...
请教高手,一共2万组数据,一直按照上面的规律,将B列的数据复制成C列的格式。
邮箱:burnpark@163.com
附件列表

Book1.xls

大小:806.5 KB

 马上下载

二维码

扫码加我 拉你入群

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

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

全部回复
2009-10-20 16:24:54
C列和B列没有关系,C列只和A列有关系

data x;
input A  B ;
cards;
2008   0   
2008   1   
2008   2   
2008   3   
2007   4   
2007   5   
2007   6   
2007   7   
2006   8   
2006   10  
2006   11  
2006   12  
2005   13  
2005   14  
;run;

proc sort data=x out=x1 nodupkey;by a;run;
proc sort data=x1;by b;run;
data x1;set x1;id=_n_-1;drop b;run;
proc sql;create table x2 as select x.*, x1.id
from x,x1 where x.a=x1.a order by id,b;quit;
data final;set x2;by id;
retain c 0;c+1;if first.id then c=id;run;
proc sql;drop table x ,x1, x2;run;
二维码

扫码加我 拉你入群

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

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

2009-10-21 02:05:37
不好意思,没有好好说明问题,B列和C列的实际数据不是012345..只是为了看的方便,实际数据是没有规律的数字。我要将B列的数据按照上面举例的方式复制到C列。实在是不会,各位高手帮帮忙吧!
二维码

扫码加我 拉你入群

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

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

2009-10-21 11:02:20
c列的格式是什么??下了你的表!看不懂??
二维码

扫码加我 拉你入群

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

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

2009-10-21 11:53:38
data old;
input A  B ;
cards;
2008   323   
2008   134   
2008   24   
2008   34   
2007   45   
2007   57   
2007   655   
2007   78   
2006   86   
2006   1022  
2006   1111  
2006   122  
2005   1322
2005   144
2005   153
2005   16
;run;


data out;
do i = 1 to t;
  set old point=i nobs=t;
   if a~=. then do k=i to i+3;
         set old point=k;
         output;
   end;
end;
stop;
run;
data final;merge old out( rename=(b=C) keep=b) ;run;
二维码

扫码加我 拉你入群

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

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

2009-10-21 13:24:04
qqqqqqqqqqq
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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