如何根据两个变量一起创建序列号

时间:2014-12-30 18:25:02

标签: sas

我有以下数据集:

 ID   CODE  
 1     A
 1     B  
 2     A  
 2     A  
 2     B  
 3     A  
 3     B  

我想在这个表中添加第三列,它给出了序列号。如下所示:

 ID   CODE  SEQ
 1     A     1
 1     B     2
 2     A     1
 2     A     1
 2     B     2
 3     A     1
 3     B     2

如何实现这一目标而不是将A编码为1而将B编码为2而不是编写保留语句?

1 个答案:

答案 0 :(得分:2)

您应该通过处理和first.来查看。像这样的东西会起作用;基本上,对于每个ID,将seq初始化为零,并且对于每个新代码,将其递增1。

data want;
  set have;
  by id code;
  if first.id then seq=0;
  if first.code then seq+1;
run;