Hi,
suppose I have a data of stocks with dates and prices:
|
Stock |
Date |
Price |
|
A |
2009 |
10 |
|
A |
2010 |
12 |
|
B |
2007 |
20 |
|
B |
2008 |
22 |
|
B |
2009 |
23 |
|
C |
2009 |
6 |
|
C |
2010 |
6 |
What I would like to do is to have a selection process each individual stock is either entirely deleted or left based on 2 criteria:
The max year should be greater or equal to 2010 and the max price should be greater or equal to 8.
For the above data only stock A passes the 2 criteria,
so the "want" table should be:
|
Stock |
Date |
Price |
|
A |
2009 |
10 |
|
A |
2010 |
12 |
Thank you!!!
proc sql;
create table want as
select *
from have
group by stock
having max(year) >= 2010 and max(price) >= 8;
quit;
proc sql;
create table want as
select *
from have
group by stock
having max(year) >= 2010 and max(price) >= 8;
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!
Need to connect to databases in SAS Viya? SAS’ David Ghan shows you two methods – via SAS/ACCESS LIBNAME and SAS Data Connector SASLIBS – in this video.
Find more tutorials on the SAS Users YouTube channel.