我需要根据今天的日期提取上一季度的数据。我需要让它充满活力。
使用intnx,我可以提取最后一天,而不是第一天。
data _null_;
a = intnx('quarter',today(),-1,'end');
format a date9.;
put a;
run;
有人能分享一下如何获得上一季度的开始和结束日期的逻辑吗?
您只需要对intnx函数的最后一个参数进行小的更正
data _null_;
start = intnx('quarter',today(),-1,'b');
end = intnx('quarter',today(),-1,'e');
put start= date9. end= date9.;
run;
来自可靠的INTNX
文档:
第四个参数,对齐,是可选的
"对齐">
控制间隔内SAS日期的位置。必须将对齐方式用引号括起来。对齐可以是以下值之一:
开始
指定返回的日期或日期时间值与间隔的开始对齐
别名BMIDDLE
指定返回的日期或日期时间值与间隔的中点对齐,该中点是开始和结束对齐值的平均值
别名MEND
指定返回的日期或日期时间值与间隔的末尾对齐。别名E- SAME指定返回的日期与输入日期对齐方式相同
别名S,SAMEDAY有关详细信息,请参阅SAME Alignment默认开始
有关详细信息,请参阅在间隔内调整SAS日期输出。