Hi everyone. I am trying to onvert character date(MONYY) to DATE type yymmn6.
Here is my code:
data work.trans_load_re_oldfull;
set work.trans_load_re_oldfull;
length newperiod $8.;
charyear='JAN2018';
newperiod=input(_NAME_,best.);
run;
Nothing came out. Anyone knows why?
I have also tried putting format newperiod yymmn6. but the field is entirely blank.
Do like this
data test;
charyear='JAN2018';
newperiod=input(charyear,monyy7.);
format newperiod yymmn6.;
run;
First of all: do not overwrite a dataset in the same data step while you're still developing; any mistake will force you to recreate the dataset from its origins.
data work.trans_load_re_oldfull;
set work.trans_load_re_oldfull;
length newperiod $8.;
charyear='JAN2018';
newperiod=input(_NAME_,best.);
run;
You are setting charyear, but don't use it.
You define newperiod as character, and then assign a numeric value to it, forcing an automatic type conversion. Bad.
Is _NAME_ present on your dataset? If yes, is it of type character? If yes, what does it contain?
Good news: We've extended SAS Hackathon registration until Sept. 12, so you still have time to be part of our biggest event yet – our five-year anniversary!
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.