我在SAS中創建了一個存儲過程,提示用戶選擇月份/年份組合,如下所示:2015_10
。然後從下一個框中,他們可以點擊一個日曆,並選擇一個時間戳的startdate,enddate也是一個時間戳。SAS條件執行過程sql
我想結合這一步,用戶只選擇開始和結束日期。但是,我的源表位於SQL Server中,並且表格按月份進行分區,並且這些表格的名稱類似於此datatabel_2015_10
,其中最後兩位數字表示月份。一旦用戶選擇月份,我有proc sql查詢該表,然後在那之後有另一個查詢來只拉起落在開始日期和結束日期之間的行,這些行是time1和time2作爲字符串存儲在MS SQL中看起來像這樣的服務器30JAN2015:19:52:29
我該如何編碼以消除月/年提示,並且只有兩個選擇,即startdatetime
和enddatetime
,並且仍然可以查詢。 連接每月表不是一個選項,因爲它們非常龐大,即使使用傳遞查詢也會永久運行。 請幫忙。 感謝
LIBNAME SWAPPLI ODBC ACCESS=READONLY read_lock_type=nolock noprompt="driver=SQL server; server=XXX; Trusted Connection=yes; database=XXX" schema='dbo';
proc sql;
create table a as
select
startdate_time,
enddate_time
from SWAPPLI.SQL_DB_2015_10
quit;
proc sort data=a out=b;
by startdate_time, enddate_time
where enddate_time between "&startdate"dt and "&enddate"dt;
run;
請附上您的存儲過程的代碼的相關部分的問題 – mjsqu
LIBNAME SWAPPLI ODBC ACCESS = READONLY read_lock_type = NOLOCK NOPROMPT = 「司機= SQL服務器; 服務器= XXX; 信任連接= YES; 數據庫= XXX」模式= 'DBO'; proc sql; 創建表格爲 select startdate_time,enddate_time from SWAPPLI.SQL_DB_2015_10 quit; proc sort data = a out = b; by startdate_time,enddate_time 其中enddate_time位於「&startdate」dt和「&enddate」dt之間; 跑; – user601828