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;
April 27 – 30 | Gaylord Texan | Grapevine, Texas
Walk in ready to learn. Walk out ready to deliver. This is the data and AI conference you can't afford to miss.
Register now and save with the early bird rate—just $795!
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.