SAS中文论坛
标题:
对数据行做标记
[打印本页]
作者:
shiyiming
时间:
2010-3-24 14:03
标题:
对数据行做标记
有数据集temp,其中有两个变量,一个是编号No,另一个是日期day
No day
1 20090319
1 20090325
1 20090402
1 20090518
2 20090508
2 20090622
2 20100105
2 20100130
日期已排序,现在要对每条数据做一个标记,按No这个变量来做,使数据集变为
No day x
1 20090319 1
1 20090325 2
1 20090402 3
1 20090518 4
2 20090508 1
2 20090622 2
2 20100105 3
2 20100130 4
做一个编号的排列,每个NO都从1开始往下排,应该如何编程?谢谢!
作者:
Qiong
时间:
2010-3-24 14:32
标题:
Re: 对数据行做标记
data v;
set temp;
by no;
if first.no then x=0;
x+1;
run;
作者:
shiyiming
时间:
2010-3-24 15:33
标题:
Re: 对数据行做标记
很简单的问题,恶搞一下 <!-- s:D --><img src="{SMILIES_PATH}/icon_biggrin.gif" alt=":D" title="Very Happy" /><!-- s:D -->
向ahuige大侠致敬的版本
[code:3smox74l]data temp;
retain x 0;
set temp;
by no;
x=(1-first.no)*x+1;
run;[/code:3smox74l]
费力不讨好的版本
[code:3smox74l]data temp;
x=0;
do _n_=1 until(last.no);
set temp;
by no;
x+1;
output;
end;
run;[/code:3smox74l]
欢迎光临 SAS中文论坛 (http://www.mysas.net/forum/)
Powered by Discuz! X3.2