I looking to format a date/time field as an interger in the format of YYYYMM. Below works, but I cannot figure out how to remove the day part (DD). Thanks.
input(put(datepart(r.MyDate),yymmddn8.),8.) as MyDateFormatted format=8.
Example:
MyDate=10MAR2017:13:29:57.000
Need=201703 as numeric
There's a format for that 😉
YYMMN6 Format, either apply the format or use PUT() with DATEPART().
data test;
dt=dhms('01Jan2017'd, 5, 2, 20);
format dt datetime20.;
date_formatted=datepart(dt);
format date_formatted yymmn6.;
x=put(datepart(dt), yymmn6.);
y=input(x, 8.);
run;
ods select variables;
proc contents data=test;
run;
proc print data=test;
run;
There's a format for that 😉
YYMMN6 Format, either apply the format or use PUT() with DATEPART().
data test;
dt=dhms('01Jan2017'd, 5, 2, 20);
format dt datetime20.;
date_formatted=datepart(dt);
format date_formatted yymmn6.;
x=put(datepart(dt), yymmn6.);
y=input(x, 8.);
run;
ods select variables;
proc contents data=test;
run;
proc print data=test;
run;
You can use the following format to convert a date to YYMM or YYYYMM. For example: 12-03-2018 to 201803:
put(r.MyDate, yymmn6.) as MyDateFormatted
See this link for more details:
Available on demand!
Missed SAS Innovate Las Vegas? Watch all the action for free! View the keynotes, general sessions and 22 breakouts on demand.
Learn the difference between classical and Bayesian statistical approaches and see a few PROC examples to perform Bayesian analysis in this video.
Find more tutorials on the SAS Users YouTube channel.