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;
Are you ready for the spotlight? We're accepting content ideas for SAS Innovate 2025 to be held May 6-9 in Orlando, FL. The call is open until September 25. Read more here about why you should contribute and what is in it for you!
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.