我有两行代码来确定前一个季度的开始和结束日期。
put(INTNX('Quarter',today(),-1,'B'),MMDDYY10.)
put(INTNX('Quarter',today(),-1,'E'),MMDDYY10.)
上面的开始日期显示为10/1/2019 上面的结束日期显示为12/31/2019
但是我需要在每个日期前增加一个月,以等于以下日期。
2019年1月1日 1/31/2019
我尝试将以上内容嵌套在另一个intnx函数中,但它只返回空白。想法和帮助将不胜感激。
答案 0 :(得分:1)
尝试
data _null_;
* compute date values;
* start of second month in prior quarter;
start_date = intnx('MONTH', intnx ('QUARTER', today(), -1, 'B'), 1);
* end of first month after prior quarter;
end_date = intnx('MONTH', intnx ('QUARTER', today(), -1, 'E'), 1, 'E');
* log date values using a desired representation format;
put (start_date end_date) (=mmddyy10./);
* store a date value representation in a variable;
* (this is not typically a desired thing to do);
start_ymd = put (start_date, mmddyy10.);
end_ymd = put (end_date, mmddyy10.);
* log the string values that were forced to represent a date (via PUT);
put start_ymd= / end_ymd=;
run;
日志应显示(2020年1月6日)
start_date=11/01/2019
end_date=01/31/2020
start_ymd=11/01/2019
end_ymd=01/31/2020
答案 1 :(得分:1)
以下内容完美运行。
put(INTNX('Month',INTNX('Quarter',today(),-1,'B'),+1,'B'),MMDDYY10.)
put(INTNX('Month',INTNX('Quarter',today(),-1,'E'),+1,'E'),MMDDYY10.)