This should be an easy solution but could not figured it out. How to I select both duplicate IDs if year is associated with 2023?
Have
| ID | year |
| 130177 | 2021 |
| 130177 | 2022 |
| 137939 | 2021 |
| 137939 | 2023 |
| 160200 | 2022 |
| 160200 | 2023 |
| 166898 | 2020 |
| 166898 | 2023 |
| 175553 | 2022 |
| 175553 | 2023 |
want:
| ID | year |
| 137939 | 2021 |
| 137939 | 2023 |
| 160200 | 2022 |
| 160200 | 2023 |
| 166898 | 2020 |
| 166898 | 2023 |
| 175553 | 2022 |
| 175553 | 2023 |
data HAVE;
input ID year;
cards;
130177 2021
130177 2022
137939 2021
137939 2023
160200 2022
160200 2023
166898 2020
166898 2023
175553 2022
175553 2023
run;
You could use a PROC SQL subquery to find the (distinct?) IDs with records in 2023 and then pull all records matching those IDs.
proc sql; select id, year from have where id in (select id from have where year=2023); quit;
You could use a PROC SQL subquery to find the (distinct?) IDs with records in 2023 and then pull all records matching those IDs.
proc sql; select id, year from have where id in (select id from have where year=2023); quit;
April 27 – 30 | Gaylord Texan | Grapevine, Texas
Walk in ready to learn. Walk out ready to deliver. This is the data and AI conference you can't afford to miss.
Register now and lock in 2025 pricing—just $495!
Learn the difference between classical and Bayesian statistical approaches and see a few PROC examples to perform Bayesian analysis in this video.
Find more tutorials on the SAS Users YouTube channel.
Ready to level-up your skills? Choose your own adventure.