BookmarkSubscribeRSS Feed
willy0625
Calcite | Level 5

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.

3 REPLIES 3
art297
Opal | Level 21

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;

Ksharp
Super User

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

JiamengYuan
Calcite | Level 5

proc sql;

    create table dsn as

    select distinct class, subject, score

    form your_dataset

    group by class

    having score=max(score)

    ;

quit;

What is Bayesian Analysis?

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.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

Discussion stats
  • 3 replies
  • 1304 views
  • 6 likes
  • 4 in conversation