DATA Step, Macro, Functions and more

FORMATTING Date time

Accepted Solution Solved
Reply
Regular Contributor
Posts: 215
Accepted Solution

FORMATTING Date time

Hi All,

I am trying to copy a column and format it in MMDDYY10. format, but it look like the first observation on the additional column remain blank.

DATA Want
Second_Date=First_Date;
Format Second_Date MMDDYY10.
SET Have
RUN;

ID      First_Bate      Second_Date

101   12/26/2016           .

202   11/25/2015     12/26/2016

303   10/11/2014     11/25/2015

404    09/14/2013    10/11/2014

 

I will really appreciate if anyone can give me a clue.

 

Thank You.


Accepted Solutions
Solution
‎06-30-2017 09:09 AM
Super User
Posts: 6,946

Re: FORMATTING Date time

If you actually would have tried that code, you'd see only ERROR messages in your log:

DATA Want /* missing semicolon */
Second_Date=First_Date;
Format Second_Date MMDDYY10. /* another missing semicolon */
SET Have /* another missing semicolon */
RUN;

So you would do good in the future to post the code that you actually used.

That said, you have your set statement in the wrong place:

data want;
set have;
second_date = first_date;
format second_date mmddyy10.;
run;

The set statement not only names a dataset for input, it also marks the place in the flow of the data step where the read will occur.

---------------------------------------------------------------------------------------------
Maxims of Maximally Efficient SAS Programmers

View solution in original post


All Replies
Solution
‎06-30-2017 09:09 AM
Super User
Posts: 6,946

Re: FORMATTING Date time

If you actually would have tried that code, you'd see only ERROR messages in your log:

DATA Want /* missing semicolon */
Second_Date=First_Date;
Format Second_Date MMDDYY10. /* another missing semicolon */
SET Have /* another missing semicolon */
RUN;

So you would do good in the future to post the code that you actually used.

That said, you have your set statement in the wrong place:

data want;
set have;
second_date = first_date;
format second_date mmddyy10.;
run;

The set statement not only names a dataset for input, it also marks the place in the flow of the data step where the read will occur.

---------------------------------------------------------------------------------------------
Maxims of Maximally Efficient SAS Programmers
☑ This topic is SOLVED.

Need further help from the community? Please ask a new question.

Discussion stats
  • 1 reply
  • 101 views
  • 1 like
  • 2 in conversation