xiaopingN 发表于 2019-4-3 23:30 
intnx function 里面的date 必须是SAS date, 如果不是则需要informat。你输入201903,没有infomat,被SAS认 ...
谢谢回复。
我使用您的方法还是不行。
我当前的解决方案是先把datef转换为日期格式,再进行加减计算,计算完毕再转回字符串。
data _null_;
format date datef1 yymmn6.;
attrib datef_ck length=$20.;
attrib datee_ck length=$20.;
date = input("&datef",yymmn6.);
datef1= intnx('month',date,-12);
datef_kc= put(datef1,yymmn6.);
datee_kc=put(date,yymmn6.);
call symput('datee_kc',datee_kc);
call symput('datef_kc',datef_kc);
run;