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.
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 save with the early bird rate—just $795!
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.