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;

sas-innovate-2024.png

Available on demand!

Missed SAS Innovate Las Vegas? Watch all the action for free! View the keynotes, general sessions and 22 breakouts on demand.

 

Register now!

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.

Click image to register for webinarClick image to register for webinar

Classroom Training Available!

Select SAS Training centers are offering in-person courses. View upcoming courses for:

View all other training opportunities.

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