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

如何在SAS中以YYYYMM格式获取当前年月并定义Current_Month宏变量

使用CALL SYMPUT定义YYYYMM格式的当前年月宏变量

你可以通过SAS的DATA步结合CALL SYMPUT语句实现这个需求,核心是利用SAS日期函数和格式生成YYYYMM格式的字符串,再赋值给宏变量。

基础实现代码

data _null_;
    /* 获取当前系统日期的SAS日期值 */
    current_date = today();
    /* 将日期格式化为YYYYMM格式的字符型变量 */
    current_month_str = put(current_date, yymmn6.);
    /* 调用CALL SYMPUT将字符值赋值给宏变量Current_Month */
    call symput('Current_Month', current_month_str);
run;

/* 可选:验证宏变量是否正确生成 */
%put 当前年月:&Current_Month.;

简化版代码

如果想精简代码,可直接嵌套函数调用:

data _null_;
    call symput('Current_Month', put(today(), yymmn6.));
run;

关键说明

  • today():返回当前系统日期的SAS内部日期值(从1960年1月1日开始的累计天数)
  • put(..., yymmn6.):SAS格式函数,将日期值转换为6位无分隔符的年月字符串(比如2023年2月会输出202302)
  • CALL SYMPUT('宏变量名', 变量值):DATA步中用于将DATA步变量的值传递给全局宏变量的语句

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 20:35:18