BookmarkSubscribeRSS Feed
india2016
Pyrite | Level 9

Hello All,

 

 I am stuck while creating macro.

 

I have one macro and want to run this macro 52 times with 52 dates so I should create one macro that will run existing macro for 52 dates but I have that are in disorder( e.g. 20171213, 20171215,20171219).But I can write manually.

 

Want create TEST macro which will run existing macro..

 

 

NOTES:

1) FCF macro will take date one by one and create multiple datasets ..

2) TEST macro wants to create that run 52 times..

 

%macro test;

 

%fcf;

 

%mend fcf;

 

%mend test;

 

 

 

So how should I give these 52 dates in my macro so that existing macro will take all values and run for that dates.Should I give keyword parameter macro? with 52 dates and that will run for all dates.

 

2 REPLIES 2
Reeza
Super User

CALL EXECUTE. 

Use a data step loop to create your dates and then call the macro once for each date. 

Once your STR variable looks like the correct code (%fcf(date);) then you can uncomment the call execute str and it will execute the str.

 

data call_macro;

do date='01Jan2018'd to '31Dec2018'd;
str = catt('%fcf(', put(date, date9.), ');');
*call execute (str);
end;

run;

@india2016 wrote:

Hello All,

 

 I am stuck while creating macro.

 

I have one macro and want to run this macro 52 times with 52 dates so I should create one macro that will run existing macro for 52 dates but I have that are in disorder( e.g. 20171213, 20171215,20171219).But I can write manually.

 

Want create TEST macro which will run existing macro..

 

 

NOTES:

1) FCF macro will take date one by one and create multiple datasets ..

2) TEST macro wants to create that run 52 times..

 

%macro test;

 

%fcf;

 

%mend fcf;

 

%mend test;

 

 

 

So how should I give these 52 dates in my macro so that existing macro will take all values and run for that dates.Should I give keyword parameter macro? with 52 dates and that will run for all dates.

 


 

Catch up on SAS Innovate 2026

Dive into keynotes, announcements and breakthroughs on demand.

Explore Now →
How to Concatenate Values

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.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

Discussion stats
  • 2 replies
  • 1996 views
  • 0 likes
  • 3 in conversation