BookmarkSubscribeRSS Feed
Scottie_T
Calcite | Level 5

I have the following macro that allows me to pull all information for the most recent months into my analysis.

 

%let calyear = 2016;
%let month = 10;
%let YYYYMM = 201610;

I have to change the month, year, & calyear as needed.

 

Let's say I wanted to schedule this proces to run on the 15th of every month and it would always pull the previous month?

I have four process flows that link to these variables and pull the data.

 

Does anyone have any tips on this?

 

Thanks

Scottie 

 

 

1 REPLY 1
RW9
Diamond | Level 26 RW9
Diamond | Level 26

Well, I know nobody really uses base SAS any more (/sarcasm).  It has lots of functions for date manipulations, data structures associated with dates, your code looks like:

data _null_;
  call symputx("CALYEAR",year(datepart(today())));
  call symput("MONTH",month(datepart(today())));
  call symput("YYYYMM",cats(year(datepart(today())),month(datepart(today()))));
run;

%put &CALYEAR., &MONTH., &YYYYMM.;

The above creates your macro variables base on the date of run.  I would of course advise that there are better ways to do this, use datasets for your parameters etc.  Macro language is text only and doesn't do anything other than create text strings.

 

SAS Innovate 2025: Save the Date

 SAS Innovate 2025 is scheduled for May 6-9 in Orlando, FL. Sign up to be first to learn about the agenda and registration!

Save the date!

SAS Enterprise Guide vs. SAS Studio

What’s the difference between SAS Enterprise Guide and SAS Studio? How are they similar? Just ask SAS’ Danny Modlin.

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
  • 1 reply
  • 796 views
  • 0 likes
  • 2 in conversation