I have a variable called _datadate. The format of this variable is "MMDDYY10." Our data date ranges from 05/01/2015 to 07/31/2017.
I have two questions. First, I need to delete all of the dates before 05/15/2015. I use the following code to attempt this, but it does not work. How will I be able to accomplish this?
IF _datadate GE 05/15/2015 then OUTPUT;
The second question is as follows:
I want to get all of the DD values equal to 14 and 15. I want a function that will detect all of 14th and 15th of each month. How can I do this?
1.check the list of functions - DAY()
2. Date liberals are specified as 'ddMONyyyy'd or ‘01Jan2017’d
All of this is documented here:
Avoid coding in uppercase.
For your example:
data want; set have; where _datadate ge '15MAY2015'd and day(_datadate) in (14,15); run;
Those are the right tools, but the program needs a tweak:
data want;
set have;
where _daydate >= '15May2015'd;
if day(_daydate) in (14, 15) then delete;
run;
Are you ready for the spotlight? We're accepting content ideas for SAS Innovate 2025 to be held May 6-9 in Orlando, FL. The call is open until September 25. Read more here about why you should contribute and what is in it for you!
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.