Hi, I'm new to SAS and I'm looking for a way to assign the maximum value of a group to the MaxInGroup column like below:
Group | Value | MaxInGroup (the resulting column)
A | 1 | 2
A | 2 | 2
B | 2 | 4
B | 3 | 4
B | 4 | 4
C | 5 | 5
What I did is to use the proc sort statement to arrange the Group and Value column in descending order and if first.Group=1 and first.Value=1, assign MaxInGroup = Value. But I'm stuck at how to assign the same MaxInGroup value for the rest of the group.
Thanks a lot.
Like this?
proc sql;
create table WANT as
select *, max(VAR) as MAX
from TABLE
group by ID;
quit;
No need for a prior sort
Like this?
proc sql;
create table WANT as
select *, max(VAR) as MAX
from TABLE
group by ID;
quit;
No need for a prior sort
That worked! thanks very much!
Join us for SAS Innovate 2025, our biggest and most exciting global event of the year, in Orlando, FL, from May 6-9. Sign up by March 14 for just $795.
Learn how use the CAT functions in SAS to join values from multiple variables into a single value.
Find more tutorials on the SAS Users YouTube channel.
Ready to level-up your skills? Choose your own adventure.