【问题标题】:SAS increment macro variable yyyymm by 1 monthSAS 将宏变量 yyyymm 增加 1 个月
【发布时间】:2022-10-08 01:34:46
【问题描述】:

基本上我试图得到下面的month4,但采用宏格式。

自从我完成宏功能以来已经有一段时间了,所以这有点棘手。

data test;
    input month $8.;
    datalines ;
202210
202211
202201
202210
    ;
run;



data test2;
    set test;
    format month2 date9. month3 date9.;
    test = cats(month,"01");

    month2 = input(cats(month, "01"), yymmdd8.);
    month3 = intnx("month",input(cats(month, "01"), yymmdd8.),-1);
    month4=trim(substr(put(month3,yymmddn8.),1,6));
run;

【问题讨论】:

  • “宏格式”是什么意思?目标是创建宏变量吗?如果是这样,什么宏变量?它将如何使用?源是宏变量还是数据集中的示例数据?将有一个值或多个值,如您的示例数据?如果多个值都在宏变量中,它们将如何共享?

标签: sas


【解决方案1】:

我怀疑这就是你要找的,但你的要求不是很清楚。

%let month=202210;
%let month4=%sysfunc(inputn(&month.01,yymmdd8.),yymmn6.);

【讨论】:

    猜你喜欢
    • 2021-11-22
    • 1970-01-01
    • 1970-01-01
    • 2012-05-25
    • 2018-05-17
    • 1970-01-01
    • 1970-01-01
    • 2014-12-02
    • 2021-12-07
    相关资源
    最近更新 更多