宏变量上个月开始的月份的增量

时间:2019-02-21 18:34:32

标签: sas

我有以下格式的宏变量。此变量称为小记。我需要上个月和该月初。因此,例如,下面是2017-07-01。我需要2017年6月1日的宏变量。我该怎么做呢?我没有执行此操作的代码。下面是一些代码。

2017-07-01

%LET mindt=2017-07-01;
%PUT &mindt;

2 个答案:

答案 0 :(得分:1)

单线的情况如何

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

答案 1 :(得分:0)

解决了,感谢您的参与。不过,一位同事帮了我忙。

    %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.);