Sas 按组分配ID号
如何基于两个变量分配Sas 按组分配ID号,sas,Sas,如何基于两个变量分配ID编号,A和B。如果代码可以处理多个变量,这将非常有用。 以下是我的数据: A B ID 5000136 5 1 5000136 5 1 5000225 4 2 5000225 4 2 5000225 4 2 5000225 6 3 5000225 6 3 5000225 6 3 5000327 2 4 5000327 2 4 .... ID是我想要产生的结果。 提前感谢,如果此问题重复,我很抱歉。如果您不想先使用。[var]处理此方法也可以使用 data
ID
编号,A
和B
。如果代码可以处理多个变量,这将非常有用。
以下是我的数据:
A B ID
5000136 5 1
5000136 5 1
5000225 4 2
5000225 4 2
5000225 4 2
5000225 6 3
5000225 6 3
5000225 6 3
5000327 2 4
5000327 2 4
....
ID
是我想要产生的结果。
提前感谢,如果此问题重复,我很抱歉。如果您不想先使用。[var]处理此方法也可以使用
data want;
set have;
by A B;
if first.B then id+1;
run;
data test;
infile cards;
input a b;
retain id 0;
id = ifn(lag(b) ne b, id+1, id);
datalines;
5000136 5
5000136 5
5000225 4
5000225 4
5000225 4
5000225 6
5000225 6
5000225 6
5000327 2
5000327 2
;
run;
proc print;
run;
如果不希望先使用[var]处理,也可以使用此方法
data test;
infile cards;
input a b;
retain id 0;
id = ifn(lag(b) ne b, id+1, id);
datalines;
5000136 5
5000136 5
5000225 4
5000225 4
5000225 4
5000225 6
5000225 6
5000225 6
5000327 2
5000327 2
;
run;
proc print;
run;