HI Team,
i was trying to use an if condition like the following and I get a syntax error.
could you please help me correct this?????
DAta want want2;
set have;
If datepart(time) between "begin" and "end " then output want;
if datepart(time) between "begin2 " and "end2" theN output want2;
run;
THanks
Two problems
1) The IF statement does not support that SQL specific BETWEEN operator even though the WHERE statement does.
Use the normal SAS syntax :
"&begin"d <= datepart(time) <= "&end"d
Or the expanded syntax :
"&begin"d <= datepart(time) and datepart(time) <= "&end"d
2) You cannot compare a numeric (dates are numbers of days since 1/1/1960) with a character string. If you format the values in DATE format then you can use date literals.
%let begin=01JAN2013;
%let end=31MAR2013;
%let begin2=01APR2013;
%let end2=30JUN2013;
data want want2;
set have;
if "&begin"d <= datepart(time) <= "&end"d then output want;
if "&begin2"d <= datepart(time) <= "&end2"d then output want2;
run;
Two problems
1) The IF statement does not support that SQL specific BETWEEN operator even though the WHERE statement does.
Use the normal SAS syntax :
"&begin"d <= datepart(time) <= "&end"d
Or the expanded syntax :
"&begin"d <= datepart(time) and datepart(time) <= "&end"d
2) You cannot compare a numeric (dates are numbers of days since 1/1/1960) with a character string. If you format the values in DATE format then you can use date literals.
%let begin=01JAN2013;
%let end=31MAR2013;
%let begin2=01APR2013;
%let end2=30JUN2013;
data want want2;
set have;
if "&begin"d <= datepart(time) <= "&end"d then output want;
if "&begin2"d <= datepart(time) <= "&end2"d then output want2;
run;
Thank you very much Tom. That was very helpful.
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.
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.