背景: 我有一个代码,它从当前日历季度开始,但从一年前开始提取交易数据。例如,如果我今天(2013 年 8 月 16 日)运行代码,它将必须提取 2012 年 7 月 1 日以后的所有数据。
问题: 我想使用宏变量自动执行数据提取的开始日期。
到目前为止,我被困在这里:
%let ThisYear = %Sysfunc(Date(), YEAR.);
%let LastYear= %eval(&ThisYear-1); /* I get the starting year */
%let QTR_start_month= %eval(3*%Sysfunc(Date(), qtr.)-2); /* this gives me the current quarter starting month. If I run it in August, it outputs 7 for July */
%let start_date=%str(01/%Sysfunc(month(&QTR_start_month))/&lcy);
最后的宏变量输出我想要的日期,但格式不被 SAS 识别。
我将不胜感激任何帮助。提前谢谢了!