SAS中文论坛

标题: 怎么用sas中sql语句生成自加的递增序列 [打印本页]

作者: shiyiming    时间: 2006-5-25 17:17
标题: 怎么用sas中sql语句生成自加的递增序列
1:怎么用sas中sql语句生成自加的递增序列?
2:怎么样在取得相同观测的最后一条记录?
多谢各位高手!
作者: shiyiming    时间: 2006-5-26 14:31
标题: 回答
第一个问题可以用data步做
data tmp1;
set name;
aa=_n_;
run;

第二个,我想的方法有点复杂,不知道别人有没有简单的法子
作者: shiyiming    时间: 2006-5-27 22:11
标题: For the second question
For the second question:
data temp;
   set name;
   by number;
   if last.number;
run;

good luck
作者: shiyiming    时间: 2006-5-29 11:35
标题: 为什么还要标题,烦啊.
第一个问题用MONOTONIC函数.
你的第二个问题的描述是取相同记录的最后一条.
我个人认为这个不是问题,因为,不管你取的是哪一条,因为相同记录的所有字段内容都一样(假如你是这个意思)因此取哪一条结果都一样.所以用SORT的NODUP或者select distinct都可以.
但是如果你是在加了自增字段后,那就用我下面的语句就行了,当然,SORT步的BY变量要包含所有变量.我就不多说了.
[code:113dd]data ahuige;
  input grp value;
  cards;
1 34
1 46
1 27
2 78
2 57
2 45
;
run;

proc sort ;
  by grp value;
run;

proc sql;
  create table IDahuige as
  select *, monotonic() as autoId
  from ahuige
  ;
  create table final as
  select *
  from  IDahuige
  group by grp
  having autoid=max(autoid)
  ;
quit;[/code:113dd]
作者: shiyiming    时间: 2006-6-6 12:46
标题: ahuige,在下佩服
但不知道monitonic()函数在那里查到,帮助里好像没有啊,其实我要找的就是这个函数。




欢迎光临 SAS中文论坛 (http://mysas.net/forum/) Powered by Discuz! X3.2