如何查找从上个月开始的前12个月日期



我试图创建一个查询来查找SAS数据集中列表中出现的次数,从上个月开始的过去12个月

我已经创建了下面的宏用于我的WHERE子句:

%let cur_date = %sysfunc(today(), date9.); 
%let pre_date2 = %sysfunc(putn(%sysfunc(intnx(month, %sysfunc(today()), -1, End)),%sysfunc(intnx(month, %sysfunc(today()), -12, End)) date9.)));  
%put &pre_date4;
如果你能帮我的话,我会很感激的。

感谢

您需要两个宏变量:一个用于前一个月的月底,另一个用于上个月前12个月的第一天。

%let last_month     = %sysfunc(intnx(month, %sysfunc(today()), -1, E) );
%let last_12_months = %sysfunc(intnx(month, &last_month., -12, B) );

现在您可以使用between:

运行您的查询
where date BETWEEN &last_month. AND &last_12_months.;

的例子:

data have;
do i = -36 to 0;
date = intnx('month', today(), i, 'B');
output;
end;
format date date9.;
drop i;
run;
data want;
set have;
where date BETWEEN &last_month. AND &last_12_months.;
run;
输出:

date
01OCT2020
01NOV2020
01DEC2020
01JAN2021
01FEB2021
01MAR2021
01APR2021
01MAY2021
01JUN2021
01JUL2021
01AUG2021
01SEP2021

相关内容

  • 没有找到相关文章

最新更新