【发布时间】:2019-04-24 18:23:27
【问题描述】:
所以我有如下代码:
%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的宏将通过考虑yymn6 中mon_first 和mon_last 之间的月份来执行某些任务。格式。
因此,我使用了以下循环:
%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.
请问这里有什么建议吗?
【问题讨论】:
-
您似乎将宏语法与普通数据步骤代码语法混合在一起。你想做什么?