Rusty coder here ...
I have a data set with the dates from either 2005 or 2015 (format is YYMMDD10.). They all are currently under 1 variable: dovcug
I want to create 2 cohorts of subjects based on the time period they are from, the variable called "cohort" with 0 = all dates from 2005 and 1 = all dates from 2015. This is my code:
if dovcug < 2006-01-01 then Cohort = 0;
else if dovcug > 2014-12-31 then Cohort = 1;
run;
But when I run proc freq on "Cohort" I only get:
cohort = 1
Frequency = 517
No cohort = 0
What am doing incorrectly???
do you not need a sas date constant like this?
if dovcug < '01jan2006'd then Cohort = 0;
else if dovcug > '31dec2014'd then Cohort = 1;
That worked. Thank you!
if year(dovcug) = 2005 then cohort=0;
else if year(dovcug)=2015 then cohort=1;
If your logic is the year, use the YEAR()
April 27 – 30 | Gaylord Texan | Grapevine, Texas
Walk in ready to learn. Walk out ready to deliver. This is the data and AI conference you can't afford to miss.
Register now and lock in 2025 pricing—just $495!
Still thinking about your presentation idea? The submission deadline has been extended to Friday, Nov. 14, at 11:59 p.m. ET.
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.
Ready to level-up your skills? Choose your own adventure.