You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用%sysfunc获取上月月末日期?添加'E'参数无效

解决SAS宏获取上月月末日期的问题

你之前的代码无效是因为在宏函数%sysfunc中给intnx的对齐参数加了单引号,宏环境下不需要额外加引号,直接使用对齐标识即可。

正确的代码写法如下:

%let CLNA_EOM = %sysfunc(intnx(month, %sysfunc(date()), -1, E), yymmddn8.);

关键说明:

  • intnx函数的第四个参数用于指定日期对齐方式,大写的E是END的缩写,代表取目标月份的最后一天;
  • 宏函数中传递字符型参数时,单引号会被当作参数的一部分,导致intnx无法正确识别对齐规则,这是你之前修改失败的核心原因;
  • yymmddn8.格式确保输出为无分隔符的8位日期字符串(YYYYMMDD)。

你也可以使用完整的END参数,效果完全一致:

%let CLNA_EOM = %sysfunc(intnx(month, %sysfunc(date()), -1, END), yymmddn8.);

内容的提问来源于stack exchange,提问作者Mark

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.23 04:24:26