Hi I'm trying to create a new variable using a month and year variable. I believe I should use the format Monyy7. but I am not sure what function to use. Typically I would use MDY ( Month, Day, Year).... but I do not have the day so I am a bit stumpped especially since MY (Month, year) does not work. See the example below....
data female; data female;
date = MDY (Month, day, year); --------> ????date = MY (month, year)?????
format Date monyy7.; format Date monyy7.;
run; run;
Please help!!!
In case of this, you will have to artificially plug in a day number: data=mdy(month,1,year).
Haikuo
Update: more clarification: if you let SAS to choose base on your limited information, SAS will pick the first day of the month:
data _null_;
month=7; year=2012;
date1=input(catx('-',month,year),ANYDTDTE.);
date2=mdy(month,1,year);
put "date1=" date1 date9. " date2=" date2 date9.;
run;
In case of this, you will have to artificially plug in a day number: data=mdy(month,1,year).
Haikuo
Update: more clarification: if you let SAS to choose base on your limited information, SAS will pick the first day of the month:
data _null_;
month=7; year=2012;
date1=input(catx('-',month,year),ANYDTDTE.);
date2=mdy(month,1,year);
put "date1=" date1 date9. " date2=" date2 date9.;
run;
this is the exact problem i am having now except I want sas to choose the end of the month. Im working with gdp time series data that is the total for the month at the end of the month. I plan to put them into proc expand to get them to daily and calculate a moving average so if sas assumes the 1st day that will mess me up. why cant they do date=my(month,year) ? i tried exactly what the original poster tried bc that would have been so logical 😕
nevermind. your original solution looks like it works for me instead of data9. format i used yymmn6.
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.