Hello all,
I have a question about how to assign a sequential number by two variables.
Below is what I have:
Id reg
1 1
1 1
1 3
1 3
1 3
1 4
2 2
2 2
2 2
2 3
Below is what I want:
Id reg reg_seq
1 1 1
1 1 1
1 3 2
1 3 2
1 3 2
1 4 3
2 2 1
2 2 1
2 2 1
2 3 2
Any advice?
data want;
set have;
by id reg;
if first.id then reg_seq=1;
else if first.reg the reg_seq+1;
run;
data have;
input Id reg;
datalines;
1 1
1 1
1 3
1 3
1 3
1 4
2 2
2 2
2 2
2 3
;
data want;
set have;
by Id reg notsorted;
if first.Id then reg_seq=1;
else if first.reg the reg_seq+1;
run;
Good news: We've extended SAS Hackathon registration until Sept. 12, so you still have time to be part of our biggest event yet – our five-year anniversary!
Learn how use the CAT functions in SAS to join values from multiple variables into a single value.
Find more tutorials on the SAS Users YouTube channel.
Ready to level-up your skills? Choose your own adventure.