宏部分如下:
%macro add_months(month, a);
%local y m;
%let y = %eval(&month / 100);
%let m = %eval(&y * 12 + &month - &y * 100 - 1 + &a);
%let y = %eval(&m / 12);
%let m = %eval(&m - &y * 12 + 1);
%local r;
%if(&y < 10) %then %let r = 0%eval(&y * 100 + &m);
%else %let r = %eval(&y * 100 + &m);
&r.
%mend;
data test;
x=%add_months(201312,1);
run;
希望返回宏变量r的值, 即x=201401,
有以下疑问:
1、我的盗版sas没问题,但是在企业版上运行就报错。
2、单机版上&r.后面加“;”,会报错,为什么?
3、如果要返回多个值该如何处理,如返回r和m