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;
Don't miss out on SAS Innovate - Register now for the FREE Livestream!
Can't make it to Vegas? No problem! Watch our general sessions LIVE or on-demand starting April 17th. Hear from SAS execs, best-selling author Adam Grant, Hot Ones host Sean Evans, top tech journalist Kara Swisher, AI expert Cassie Kozyrkov, and the mind-blowing dance crew iLuminate! Plus, get access to over 20 breakout sessions.
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.