我正在创建一个SAS程序,该程序允许用户输入他们要调查的日期(作为全局变量(。我想创建一个第二个变量,该变量是在用户创建变量之前三个月。
%let var1 = [user manually writes the variable in the code]
%let var2 = [3 months before var1]
我尝试了
var2 = intnx('month', input(put(&var1.,8.),yymmdd8.),-3)
不起作用。
假设您要使用并创建具有Yyyymmdd格式的数日期字符串的宏变量,则可以使用%sysfunc((。
%let date1=20170213 ;
%let date2=%sysfunc(intnx(month,%sysfunc(inputn(&date1,yymmdd8)),-3),yymmddn8);
%put &=date1 &=date2;
DATE1=20170213 DATE2=20161101