- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
Hello,
Please help me with the code for the following problem:
Data: MEMBER TABLE
MemberID Group County AddressType
A 111 Newman H
A 111 Fritz M
A 111 Damus I
B 114 Holler H
C 114 Boxing H
D 114 Dockers M
I want to select observations on the following basis:
1.) When MemberID is same under a particular Group then select/get the observation with AddressType 'H'
2.) When MemberID is different under a particular Group then select/get all the observations.
Here is what I am hoping to get:
MemberID Group County AddressType
A 111 Newman H
B 114 Holler H
C 114 Boxing H
D 114 Dockers M
Thanks,
Varun
Accepted Solutions
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
data have;
input MemberID $ Group County $ AddressType $;
cards;
A 111 Newman H
A 111 Fritz M
A 111 Damus I
B 114 Holler H
C 114 Boxing H
D 114 Dockers M
;
proc sql;
create table want(drop=t) as
select *,count(distinct memberid)>1 as t
from have
group by group
having (not t and AddressType='H') or t ;
quit;
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
data have;
input MemberID $ Group County $ AddressType $;
cards;
A 111 Newman H
A 111 Fritz M
A 111 Damus I
B 114 Holler H
C 114 Boxing H
D 114 Dockers M
;
proc sql;
create table want(drop=t) as
select *,count(distinct memberid)>1 as t
from have
group by group
having (not t and AddressType='H') or t ;
quit;
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
You're very welcome. Thank you for your questions 🙂