增加和评估SAS中的日期

时间:2015-08-04 16:11:32

标签: sas

我有以下变量:

%let curr_score_date = '31DEC2013'D; 
%let target_date = %sysfunc(intnx(month,&curr_score_date,12,e));
%let prod_start_date = %sysfunc(intnx(month,&curr_score_date,-11,b));
%let prod_end_date = %sysfunc(intnx(month,&curr_score_date,0,e));

如果根据this documentation进行评估,我会自行评估每个语句:

target_date = '31Dec2014'
prod_start_date = '01Jan2013'
prod_end_date = '31Dec2013'

但是,我想知道每个步骤是仅返回一个值,还是实际更新& curr_score_date。如果在每次计算时更新,这肯定会影响结果。

1 个答案:

答案 0 :(得分:2)

在SAS中,functions返回值(并且不能更改其参数),而call routines可以更改其参数。

因此,在上文中,使用&curr_score_date无法更改%sysfunc