Identify the records which meet a criteria

Reply
Frequent Contributor
Posts: 75

Identify the records which meet a criteria

HouseNo
PersonNoAge
1112
1221
2155
2235
2340

I have a dataset like the above. I would like to identify all the HouseNo which have PersonNo who are over Age 50. How do I do so?

Thanks

Trusted Advisor
Posts: 1,131

Re: Identify the records which meet a criteria

Please try

data have;

    input houseno personno age;

    if age > 50;

cards;

1    1    12

1    2    21

2    1    55

2    2    35

2    3    40

;

proc print;

run;

Thanks,

Jagadish

Thanks,
Jag
PROC Star
Posts: 7,364

Re: Identify the records which meet a criteria

Jagadish's code will select the correct HouseNos, but will select them multiple times if there are more than one PersonNo who is older than 50.  I'd suggest the following approach:

proc sql;

  select distinct HouseNo

    from have

      where Age gt 50

  ;

quit;

Frequent Contributor
Posts: 75

Re: Identify the records which meet a criteria

proc sql;

  select distinct HouseNo

    from have

      where Age gt 50

  ;

quit;

Hi

This code works. But if I have a even more complicated dataset like the below:

House NoPerson NoAgeItem Code
111201
111202
122103
122104
211501
224505
235006

And I want the distinct House No and the Person No who meets the Age criteria and his Age, how do I modify the code?

Remember for each distinct House No & Person No, he can have multiple records due to the different Item Code.

Thank you

Frequent Contributor
Posts: 75

Re: Identify the records which meet a criteria

Hi All

Another question is that if I want to find all HouseNo that DO NOT have any member with Age>50, how do I do so?

Thank you

Ask a Question
Discussion stats
  • 4 replies
  • 194 views
  • 0 likes
  • 3 in conversation