Desktop productivity for business analysts and programmers

Date from prompt's macro variable needs coverted to mmddyy10 format for report header

Accepted Solution Solved
Reply
Occasional Contributor
Posts: 9
Accepted Solution

Date from prompt's macro variable needs coverted to mmddyy10 format for report header

[ Edited ]

Platform: SAS EG

 

Problem: I have a macro variable (&PV_EndDate) from a date prompt that I display in a reaport header. The date is displayed as 31Dec2016, but I want it displayed as 12/31/2016. After much trial an error I cannot get it to work. Any Suggestions?

 

My Code:

data _null_;

    %put &PV_EndDate; /* prints '31Dec2016' to log */

    End_Date="&PV_EndDate"d;

    newDate = put(&&End_Date,mmddyy10.);

    put newDate; /* prints '12/31/2016' to log */

     %Global MV_EndDate;

    %let MV_EndDate = newDate;

run;

%put &MV_EndDate; /* prints 'newDate' to log */

 

 

 Header Code: 

  TITLE3 "End Date: &MV_EndDate";

 

 

 


Accepted Solutions
Solution
‎02-20-2017 02:03 PM
Super User
Posts: 8,590

Re: Date from prompt's macro variable needs coverted to mmddyy10 format for report header

Posted in reply to eg_michael

You need to transfer the value of the data step variable into the macro variable.

Do

call symput('mv_enddate',mv_enddate);

in the data step.

%let is a macro statement and therefore executed when the code is gathered to be compiled for the data step. It can never access data step variables.

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

View solution in original post


All Replies
Solution
‎02-20-2017 02:03 PM
Super User
Posts: 8,590

Re: Date from prompt's macro variable needs coverted to mmddyy10 format for report header

Posted in reply to eg_michael

You need to transfer the value of the data step variable into the macro variable.

Do

call symput('mv_enddate',mv_enddate);

in the data step.

%let is a macro statement and therefore executed when the code is gathered to be compiled for the data step. It can never access data step variables.

---------------------------------------------------------------------------------------------
Maxims of Maximally Efficient SAS Programmers
Occasional Contributor
Posts: 9

Re: Date from prompt's macro variable needs coverted to mmddyy10 format for report header

Posted in reply to KurtBremser
Thank You!
☑ This topic is solved.

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

Discussion stats
  • 2 replies
  • 173 views
  • 0 likes
  • 2 in conversation