BookmarkSubscribeRSS Feed
🔒 This topic is solved and locked. Need further help from the community? Please sign in and ask a new question.
suresh123
Calcite | Level 5

 

I created below code to pull the particular date.

%let date =2016-12-31;
proc sql;
connect to teradata   as tera ( user=testuser password=testpass );

create table new as select * from connection tera (select acct,org from dw.act
where date= &date.);
disconnect from tera;

quit;

 

I want to use previous date if the mentioned date in %let is not available in the datatset.

1 ACCEPTED SOLUTION

Accepted Solutions
SASKiwi
PROC Star

Something like this perhaps?

 

%let date =2016-12-31;
proc sql;
connect to teradata   as tera ( user=testuser password=testpass );
create table new as select * from connection tera (
select acct,org from dw.act as A
inner join
(select max(date) as DateMax 
 from dw.act
 where date <= &date.
) as B
on A.date = B.DateMax
);
disconnect from tera;
quit;

View solution in original post

5 REPLIES 5
PeterClemmensen
Tourmaline | Level 20

By the 'previous' date, I assume you mean the day before, so 2016-12-31 becomes 2016-12-30, right?

 

And what if the 2016-12-30 is not present either?

suresh123
Calcite | Level 5

Any date before the missing date

SASKiwi
PROC Star

Something like this perhaps?

 

%let date =2016-12-31;
proc sql;
connect to teradata   as tera ( user=testuser password=testpass );
create table new as select * from connection tera (
select acct,org from dw.act as A
inner join
(select max(date) as DateMax 
 from dw.act
 where date <= &date.
) as B
on A.date = B.DateMax
);
disconnect from tera;
quit;
PeterClemmensen
Tourmaline | Level 20

you can do something like this

 

proc sql;
   create table want as
   select * from sashelp.stocks
   where date >= "01nov2002"d
   group by stock
   having date=min(date);
quit;
suresh123
Calcite | Level 5
Does grouping change the report?

hackathon24-white-horiz.png

The 2025 SAS Hackathon has begun!

It's finally time to hack! Remember to visit the SAS Hacker's Hub regularly for news and updates.

Latest Updates

How to Concatenate Values

Learn how use the CAT functions in SAS to join values from multiple variables into a single value.

Find more tutorials on the SAS Users YouTube channel.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

Discussion stats
  • 5 replies
  • 1544 views
  • 0 likes
  • 3 in conversation