创建SAS变量之间的关系

时间:2017-06-26 17:05:34

标签: sas

我正在创建一个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)

哪个不起作用。

1 个答案:

答案 0 :(得分:2)

假设您要使用和创建具有YYYYMMDD格式的日期字符串的宏变量,那么您可以使用%SYSFUNC()来实现。

%let date1=20170213 ;
%let date2=%sysfunc(intnx(month,%sysfunc(inputn(&date1,yymmdd8)),-3),yymmddn8);
%put &=date1 &=date2;


DATE1=20170213 DATE2=20161101