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

 

Hello;

 

I need to extract all records for every unique (ID) if that unique (ID) has (Type=1) .

 

data have;
infile cards dlm=" ";
input ID Type Mode Rank;
cards;
1 2 3 2
1 1 1 5
1 1 2 3
1 3 4 4
1 4 6 8
2 5 9 2
2 4 5 5
2 3 2 6
2 2 1 3
3 1 9 7
3 4 6 8
;run;

 

 

 

 

data want;
infile cards dlm=" ";
input ID Type Mode Rank;
cards;
1 2 3 2
1 1 1 5
1 1 2 3
1 3 4 4
1 4 6 8
3 1 9 7
3 4 6 8
;run;

 

here is my try

 

 

data try ;
set have ;
by id ;
run ;
proc sql;
create table ped as
select *
from try
where Type eq 1
;
quit;  

 

but it is not what i want

 

any help would appreciated

1 ACCEPTED SOLUTION

Accepted Solutions
stat_sas
Ammonite | Level 13

proc sql;
create table want as
select * from have
group by id
having sum(Type=1)>0;
quit;

View solution in original post

1 REPLY 1
stat_sas
Ammonite | Level 13

proc sql;
create table want as
select * from have
group by id
having sum(Type=1)>0;
quit;

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
  • 1 reply
  • 1151 views
  • 0 likes
  • 2 in conversation