在 SAS 中需要基于今天日期的最后一个季度的第一个日期和最后一个日期



我需要根据今天的日期提取上一季度的数据。我需要让它充满活力。

使用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日期的位置。必须将对齐方式用引号括起来。对齐可以是以下值之一:

  • 开始
    指定返回的日期或日期时间值与间隔的开始对齐
    别名B

  • MIDDLE
    指定返回的日期或日期时间值与间隔的中点对齐,该中点是开始和结束对齐值的平均值
    别名M

  • END
    指定返回的日期或日期时间值与间隔的末尾对齐。别名E

  • SAME指定返回的日期与输入日期对齐方式相同
    别名S,SAMEDAY有关详细信息,请参阅SAME Alignment

默认开始

有关详细信息,请参阅在间隔内调整SAS日期输出。

最新更新