I have this table
A B
10 0.1
10 0.1
22 0.1
22 0.2
22 0.2
31 0.2
31 0.3
I want to add ID
A B ID
10 0.1 1
10 0.1 1
22 0.1 2
22 0.2 2
22 0.2 2
31 0.2 3
31 0.3 3
data want;
set have;
by a;
if first.a then id+1;
run;
I can not do that because A is not properly sorted???????????????
What is the criteria to create id then?
the criteria is that A must be the same for the id=1.
Then sort the data. If you need original sorting then do:
data have;
set a;
prev_sort=_n_;
run;
proc sort data=have;
by a b;
run;
data want;
set have;
by a;
if first.a then id+1;
run;
proc sort data=want;
by prev_sort;
run;
However, if your test data is right (and after this sort statement I am not sure), just say:
data want;
set have;
do I=1 to 100;
if (i *10) < a <= ((I+1) * 10) then id=I;
end;
run;
SAS Innovate 2025 is scheduled for May 6-9 in Orlando, FL. Sign up to be first to learn about the agenda and registration!
Learn the difference between classical and Bayesian statistical approaches and see a few PROC examples to perform Bayesian analysis in this video.
Find more tutorials on the SAS Users YouTube channel.
Ready to level-up your skills? Choose your own adventure.