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()
Don't miss out on SAS Innovate - Register now for the FREE Livestream!
Can't make it to Vegas? No problem! Watch our general sessions LIVE or on-demand starting April 17th. Hear from SAS execs, best-selling author Adam Grant, Hot Ones host Sean Evans, top tech journalist Kara Swisher, AI expert Cassie Kozyrkov, and the mind-blowing dance crew iLuminate! Plus, get access to over 20 breakout sessions.
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.