我有以下数据集:
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而不是编写保留语句?
答案 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;