当我使用proc sql创建表时,如何调用选择日期范围的提示?
我想问一下如何在创建表的proc sql中调用提示符(我使用的是SAS企业指南)。 我感兴趣的是将数字与日期月(如下表所示)关联起来,在这里可以使用提示选择d_月当我使用proc sql创建表时,如何调用选择日期范围的提示?,sql,sas,enterprise-guide,Sql,Sas,Enterprise Guide,我想问一下如何在创建表的proc sql中调用提示符(我使用的是SAS企业指南)。 我感兴趣的是将数字与日期月(如下表所示)关联起来,在这里可以使用提示选择d_月 time_window d_month database_name table_name short_name group_field field field_list 1 '2018-02-28'
time_window d_month database_name table_name short_name group_field field field_list
1 '2018-02-28' Dtb1 table1 Tab1 date_month department Tab1.id Tab1.balance id balance
1 '2018-02-28' Dtb1 table2 Tab2 date_month Tab2.credit credit
...
2 '2018-03-31' Dtb1 table3 Tab3 date_month department Tab3.debit debit
2 '2018-03-31' Dtb2 table4 Tab4 date_month department ...
我曾经
proc sql noprint;
select time_w into time_w_lower from &time_table..time_table where time_last="&time_win_min_end"d;
quit;
proc sql noprint;
select time_w into time_w_upper from &time_table..time_table where time_last="&time_win_max_end"d;
quit;
创建最小和最大日期(这应该与提示相同),但我不知道在为新表选择字段时如何使用此信息。
时间和日期月(d\u-month
)在一个表中(&Time\u-table..Time\u-table
),而其他字段在另一个表中(&dtb..&input.
)。
我尝试的是:
proc sql;
create table table_test4 as
select t.time_window
,t.d_month
,&alias..date_month
,&alias..department
,%qsysfunc(dequote(&_factor.))
from &dtb..&input. &alias.
cross join time_window t
order by 1,2,3,4;
quit;
其中time\u window
是按如下方式创建的表:
data time_window (drop=i);
attr time_window length=8 format=11. informat=11.;
attr d_month length=14 format=$12. informat=$12.;
do =&time_w_lower. to time_w_upper.;
time_window=left(put(i,4.));
d_month=CAT("'", put(intent('month',"01JAN2010"d, i-1, 'end'), YYMMDDD10.),"'");
output;
end;
run;
不幸的是,我没有数据,我可以显示,所以任何例子,你会提供给我将不胜感激
谢谢你抽出时间
%put _ALL_;
proc sql
中,您可以使用“&DATE\u MAX.”d
和“&DATE\u MIN.”d
white DATE是您的提示名称