DATA Step, Macro, Functions and more

Data type conversion

Reply
SAS Employee
Posts: 2

Data type conversion

Hello everyone,

I have been trying to figure this out for the second day now, and decided to find out if anyone here knows a way.

The task I need to accomplish is the following:

I have a variable k='01JAN2008'd;
In order to call several datasets which have the name in the following form: work....._01JAN2008, work....._07JAN2008, and so on, I was trying to convert k, k+7*d, to character in a single line of code. I was trying to do the following:

%macro a;
%do i=1 %to 3;
%let dt=%put(%sysevalf(&k+7*&i), date9.);
%end;
%mend;
%aa;

, but have not been successfull. I would really appreciate if somebody could point out what am I doing wrong.

Thanks,
Dmitry
Super Contributor
Super Contributor
Posts: 3,174

Re: Data type conversion

You will need to use the %SYSFUNC and also use PUTN (instead of %PUT) to resolve a "formatted" SAS date string.

Scott Barry
SBBWorks, Inc.
SAS Employee
Posts: 2

Re: Data type conversion

Thank you very much! Worked like a charm

Dmitry
Ask a Question
Discussion stats
  • 2 replies
  • 104 views
  • 0 likes
  • 2 in conversation