Hello, I checked the code with some dummy datasets. 26 %macro combine(month); 27 %local last_month date ; 28 %let last_month=%sysfunc(intnx(month,%sysfunc(today()),-1,b)); 29 30 data DATASET.AB002_%sysfunc(putn(&last_month,yymmn6)); 31 set 32 %do date=&last_month %to %sysfunc(intnx(month(&last_month,0,e)); 33 dataset.AB002_%sysfunc(putn(&date,yymmddn8)) 34 %end; 35 ; 36 run; 37 %mend combine; 38 %combine; MPRINT(COMBINE): data DATASET.AB002_201705; ERROR: Expected close parenthesis after macro function invocation not found. ERROR: %EVAL function has no expression to evaluate, or %IF statement has no condition. ERROR: The %TO value of the %DO DATE loop is invalid. ERROR: The macro COMBINE will stop executing. MPRINT(COMBINE): set 39 40 GOPTIONS NOACCESSIBLE; ERROR: File WORK.GOPTIONS.DATA does not exist. ERROR: File WORK.NOACCESSIBLE.DATA does not exist. 41 %LET _CLIENTTASKLABEL=; 42 %LET _CLIENTPROCESSFLOWNAME=; 43 %LET _CLIENTPROJECTPATH=; 44 %LET _CLIENTPROJECTNAME=; 45 %LET _SASPROGRAMFILE=; 46 47 ;*';*";*/;quit;run; ____ 180 2 The SAS System 16:12 Thursday, June 1, 2017 ERROR 180-322: Statement is not valid or it is used out of proper order. NOTE: The SAS System stopped processing this step because of errors. WARNING: The data set DATASET.AB002_201705 may be incomplete. When this step was stopped there were 0 observations and 0 variables. WARNING: Data set DATASET.AB002_201705 was not replaced because this step was stopped. NOTE: DATA statement used (Total process time): real time 0.00 seconds cpu time 0.00 seconds
... View more