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;
Join us for SAS Innovate April 16-19 at the Aria in Las Vegas. Bring the team and save big with our group pricing for a limited time only.
Pre-conference courses and tutorials are filling up fast and are always a sellout. Register today to reserve your seat.
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.