Я создал сохраненный процесс в SAS, который предлагает пользователю выбрать комбинацию месяц/год, которая выглядит так: 2015_10
. Затем из следующего окна они могут щелкнуть по календарю и выбрать начальную дату, которая является меткой времени, и enddate также временную метку.SAS условное выполнение proc sql
Я хотел бы объединить это в один шаг, когда пользователь выбирает дату начала и окончания. Однако моя исходная таблица находится в SQL Server, а таблицы разделены по месяцам, а таблицы называются так: datatabel_2015_10
, где последние две цифры представляют месяц. После того, как пользователь выбирает месяц, у меня есть запрос sql sqq для этой таблицы, а затем после этого есть еще один запрос, чтобы вытащить только строки, которые попадают между датой начала и конечной даты, это 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
Имя_библиотеки SWAPPLI ODBC ACCESS = READONLY read_lock_type = NOLOCK noprompt = "драйвер = SQL сервер; сервер = XXX; Trusted Connection = да; база = XXX" Schema = 'ДБО'; 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 где enddate_time между «& startdate» dt и «& enddate» dt; run; – user601828