BookmarkSubscribeRSS Feed
🔒 This topic is solved and locked. Need further help from the community? Please sign in and ask a new question.
eceklic
Calcite | Level 5

Hi,

 

I am new to SAS and would appreciate some help as I have been stuck on this problem for awhile. Say, I have two variables, one is an ID and another is a counter. If an ID has the highest counter value of '4' I want to keep only that record and delete other records with the same ID. If the ID does not have the highest counter value of '4', I want to keep all the records. I work in SAS Base 9.4.

 

Please help and thanks 🙂

 

Dataset HAVE
IDLinkage_Qual
14
13
12
11
23
22
34
33
32
31
  
Dataset WANT
IDLinkage_Qual
14
23
22
34
1 ACCEPTED SOLUTION

Accepted Solutions
novinosrin
Tourmaline | Level 20

Assuming i understand your requirement

 

data have;
input ID	Linkage_Qual;
cards;
1	4
1	3
1	2
1	1
2	3
2	2
3	4
3	3
3	2
3	1
; 

proc sql;
create table want as
select *
from have
group by id	
having max(	Linkage_Qual=4)*Linkage_Qual=4 or  max(	Linkage_Qual=4)=0
order by id, Linkage_Qual desc;
quit;

View solution in original post

3 REPLIES 3
novinosrin
Tourmaline | Level 20

Assuming i understand your requirement

 

data have;
input ID	Linkage_Qual;
cards;
1	4
1	3
1	2
1	1
2	3
2	2
3	4
3	3
3	2
3	1
; 

proc sql;
create table want as
select *
from have
group by id	
having max(	Linkage_Qual=4)*Linkage_Qual=4 or  max(	Linkage_Qual=4)=0
order by id, Linkage_Qual desc;
quit;
PGStats
Opal | Level 21
proc sort data=have; by id descending Linkage_Qual; run;

data want;
do until(last.id);
    set have; by id;
    if first.id then topLnk = Linkage_Qual;
    if Linkage_Qual = 4 or topLnk ne 4 then output;
    end;
drop topLnk;
run;
PG
eceklic
Calcite | Level 5

Hi - thanks for both the suggested solutions, they worked. Much appreciated 🙂

How to Concatenate Values

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.

SAS Training: Just a Click Away

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

Browse our catalog!

Discussion stats
  • 3 replies
  • 1429 views
  • 2 likes
  • 3 in conversation