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: 7,446

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

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: 7,446

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

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

Thank You!
☑ This topic is solved.

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

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