BookmarkSubscribeRSS Feed
🔒 This topic is solved and locked. Need further help from the community? Please sign in and ask a new question.
asdfsa
Calcite | Level 5

I want to load data by using macro but last day is different from month

 

for example, in feb last day is 31 but in april 30

 

how can i do..?

 

 

%macro dataload(year=17,month=11);

proc import out = temp;
%if &month=1 or &month=3 or &month=5 or &month=7 or &month=8 or &month=10 or &month=12 %then
datafile = "J:\&year..&month.\&20&year.&month.01-20%year.%month.31.xlsx"
%else &month= 4 or &month= 6 or &month= 9 or &month= 11 %then
datafile = "J:\&year..&month.\&20&year.&month.01-20%year.%month.30.xlsx"
%else &month=2 and &year=16 %then
datafile = "J:\&year..&month.\&20&year.&month.01-20%year.%month.29.xlsx"
%else &month=2 %then
datafile =  "J:\&year..&month.\&20&year.&month.01-20%year.%month.28.xlsx"
DBMS = XLSX replace;
sheet = "sheet1";
run;

 

 

%mend

%dataload(year=17,month=11);

%dataload(year=17,month=10);

%dataload(year=17,month=09);

1 ACCEPTED SOLUTION

Accepted Solutions
Kurt_Bremser
Super User
%macro dataload(year=17,month=11);
data _null_;
day = day(intnx('month',"20&year&month.01",0,"e"));
call symputx('day',put(day,z2.),'l');
run;
/* use &day in the rest of your macro where needed */
%mend;

View solution in original post

1 REPLY 1
Kurt_Bremser
Super User
%macro dataload(year=17,month=11);
data _null_;
day = day(intnx('month',"20&year&month.01",0,"e"));
call symputx('day',put(day,z2.),'l');
run;
/* use &day in the rest of your macro where needed */
%mend;

sas-innovate-wordmark-2025-midnight.png

Register Today!

Join us for SAS Innovate 2025, our biggest and most exciting global event of the year, in Orlando, FL, from May 6-9. Sign up by March 14 for just $795.


Register now!

How to connect to databases in SAS Viya

Need to connect to databases in SAS Viya? SAS’ David Ghan shows you two methods – via SAS/ACCESS LIBNAME and SAS Data Connector SASLIBS – in this video.

Find more tutorials on the SAS Users YouTube channel.

Discussion stats
  • 1 reply
  • 1063 views
  • 0 likes
  • 2 in conversation