Return 在 SAS 中使用 Proc SQL 的最后一天

Return Last Day of Month using Proc SQL in SAS

可能是对各位大师的简单回答! 我正在尝试 return 在 SAS 中使用 PROC SQL 这个月的最后一天 我有以下内容。它运行,但我没有看到任何东西得到 returned。

我真正想做的是获得 过去 4 年 的月末日期。它必须是简单的东西,但我想不通!

PROC SQL;

 
SELECT DATEADD(MM,DATEDIFF(MM, -1, getdate()),-1) as ARS_DATE

;QUIT;

谢谢大家的帮助!

DATEADD 不是有效的 SAS 函数 AFAIK,我认为它是一个 Oracle 函数(或 MS SQL?)。

改为使用 INTNX()。对于生成日期列表,数据步骤更有效。

data month_ends;

do i=1 to 48; *48 months = 4 years;
  date_end = intnx('month', today(), -1*i, 'e');
  format date_end yymmdd10.;
  output;
end;

run;