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;

hackathon24-white-horiz.png

The 2025 SAS Hackathon Kicks Off on June 11!

Watch the live Hackathon Kickoff to get all the essential information about the SAS Hackathon—including how to join, how to participate, and expert tips for success.

YouTube LinkedIn

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
  • 1093 views
  • 6 likes
  • 4 in conversation