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.

 

hackathon24-white-horiz.png

2025 SAS Hackathon: There is still time!

Good news: We've extended SAS Hackathon registration until Sept. 12, so you still have time to be part of our biggest event yet – our five-year anniversary!

Register Now

Creating Custom Steps in SAS Studio

Check out this tutorial series to learn how to build your own steps in SAS Studio.

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
  • 1050 views
  • 0 likes
  • 2 in conversation