您如何从日期中找到 SAS 中一周的第一个日期?

How do you find the first date of the week in SAS from a date?

我在 SAS 数据集中有一个变量,它有多个日期(例如 01APR21)。我想要做的是创建一个新变量来显示该周第一个星期一的日期。因此,使用上面的 01APR21 示例,输出将是 29/03/2021,因为那一周的星期一是什么时候。我假设它使用的是 intnx,但我无法理解它。

data test;
format date date8.;
format first_day date10.;
date = '01APR21'd;
first_day = ?;
run;

INTNX 参数:

  • 间隔:周
  • 增量:0(同一周)
  • 对齐:开始 (星期日)

然后加 1 得到星期一而不是星期日。您也可以使用 SHIFT INDEX 参数。

Monday = intnx('week', dateVariable, 0, 'B') + 1