I have the following table:
Class subject score
A mat 95
A phy 80
B eng 75
B che 90
C bio 98
How would keep only unique 'Class' variables and yet retain the maximum score(and the corresponding subject) so that the resulting table looks like
Class subject score
A mat 95
B che 90
C bio 98
Many thanks.
One possibility would be two proc sorts:
proc sort data=have out=want;
by descending score;
run;
proc sort data=want nodupkey;
by class;
run;
Hi. Art.T
Why not does you write as:
proc sort data=have ;by class descending score;run;
proc sort data=have out=want nodupkey;
by class ;
run;
I think your code is very brilliant!
Ksharp
proc sql;
create table dsn as
select distinct class, subject, score
form your_dataset
group by class
having score=max(score)
;
quit;
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.