Итак, у меня есть следующий код:
%let mon_first=02Jan2018;
%let mon_last=02Mar2018;
%let start=%sysfunc(inputn(mon_first, Date9.), yymmn6.);
%let end=%sysfunc(inputn(mon_first, Date9.), yymmn6.);
%macro call(yrmon, yr, mon);
Макрос с именем %call
будет выполнять определенные задачи с учетом месяцев между mon_first и mon_last в yymn6. формат.
Поэтому я использовал следующий цикл:
%do i = &start. to &end.;
yrmon=put(i)
yr=substr(yrmon, 1,4);
mon=substr(yrmon,5,2);
%call(yrmon, yr, mon);
%end;
Я получаю сообщение об ошибке yrmon=put(i)
: Statement is not valid or it is used out of proper order.
Любые предложения здесь, пожалуйста?