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;
Save $250 on SAS Innovate and get a free advance copy of the new SAS For Dummies book! Use the code "SASforDummies" to register. Don't miss out, May 6-9, in Orlando, Florida.
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.