在 SAS 中,如何将宏变量分配给当前周数?

In SAS how do i assign a macro variable to the current week number?

我正在这样分配一个宏变量: %let weeks2=31 ;

但我希望变量自动成为当前周数,而不是 31。

我试过使用 weeks2=week(today(), 'u') 但这 returns 是一个错误。

有什么想法吗?

提前致谢!!

你的想法是正确的。但是,您正试图在宏语句 (%let) 中使用 SAS 函数(weektoday)。这样做时,您必须使用 %sysfunc 宏函数调用 each SAS 函数:

%let weeks2=%sysfunc(week(%sysfunc(today()), u));

此外,参数不需要在宏函数中引用(在本例中为 u 参数)。