单行怎么样?
86 %LET MINDT = 2017-07-01; 87 %put NOTE: MINDT(&mindt) Minus 1 month %sysfunc(intnx(MONTH,%sysfunc(inputn(&mindt,YYMMDD,10)),-1),yymmdd10); NOTE: MINDT(2017-07-01) Minus 1 month 2017-06-01
解决了它,谢谢你的演奏。虽然没有信用,一位同事帮助了我。
%LET MINDT = 2017-07-01; %MACRO TEST(INPUT_DATE); %PUT DOING THIS FOR MINDT OF &INPUT_DATE.; %LET MINDT_AS_DATE = %SYSFUNC(INPUTN(&INPUT_DATE., YYMMDD10.)); %LET MINDT_AS_DATE_MINUS_ONE = %SYSFUNC(INTNX(MONTHS, &MINDT_AS_DATE., -1)); %LET MINDT_MINUS_ONE = %BQUOTE(')%SYSFUNC(PUTN(&MINDT_AS_DATE_MINUS_ONE., YYMMDD10.))%BQUOTE('); %PUT MINUS ONE IS &MINDT_MINUS_ONE.; %MEND; %TEST(&MINDT.);