我坚持按日期过滤器动态创建表格。
在运行主要代码之前,我有用于设置日期过滤器的 SAS 代码。
这是日期代码;
data _null_;
/*ACTUAL DATES*/
R_act_beg=intnx('month',today(),-12,'beginning');
call symput('R_act_beg',R_act_beg);
R_act_end=intnx('month',today(),-1,'end');
call symput('R_act_end',R_act_end);
name_m=put(month(intnx('month',today(),-1)),z2.);
call symput('name_m',name_m);
name_y_act=put(year(intnx('month',today(),-1)),z4.);
call symput('name_y_act',name_y_act);
nameR_act=name_m||substr(name_y_act,3,4);
call symput('nameR_act',nameR_act);
这是主要代码之一;
PROC SQL;
CREATE TABLE DATA.PREMIUM&nameR_act AS
SELECT t1.POLICY_NO,
/* SUM_of_PREMIUM */
(SUM(t1.PREMIUM)) FORMAT=22.2 AS SUM_of_PREMIUM
FROM WH.V_PRODUCT t1
WHERE t1.ISSUE_DATE BETWEEN &R_act_beg AND &R_act_end AND t1.PRODUCT_NO IN
(
'421',
'423',
'424',
'425',
'404',
'433',
'430',
'444',
'441',
'443',
'453'
)
GROUP BY t1.POLICY_NO;
QUIT;
所以我应该在 12 个月内回顾性地运行大约 10 个主要代码。是否可以动态创建日期代码以便一次运行 12 个月的主要代码。