SAS 사용하기 DB의 크기가 커서 속도가 빠른 SQL 데이터베이스에서 데이터를 가져옵니다. 아래 코드는 예상대로 작동합니다.sas 변수를 SQL 통과 문으로 전달
%let expectdate1 = '2013-07-03';*/
proc sql;
connect to ***** as abc (tdpid=***** user='****' password='*****');
create table Searched_data as
select * from connection to dss(
SELECT *
FROM database.tablename
WHERE CAPTURE_DT >= '2013-07-01' and CAPTURE_DT <= &expectdate1
);
disconnect from abc;
quit;
expectate1을 매개 변수화하려고 할 때 문제가 발생합니다.
그래서 난
%let expectdate1 = put(Date(),YYMMDD10.);
이 나던 작업과 임 점점 오류와 함께
%let expectdate1 = '2013-07-03';*/
교체는
....WHERE CAPTURE_DT >= '2013-07-01' and CAPTURE_DT <= put(Date(),YYMMDD10) .....
같은 그래서 그 내 날짜 코드를 평가하고 대신을하지 않습니다 결과 코드가 아닌 SQL에 실제 코드를 전달합니다.
코드는 작동 아직 기록하지 않습니다는 'CAPTURE_DT> = '2013년 8월 5일'와 CAPTURE_DT는 <= 을 expectdate1'없이 결과가 어디 있는지 보여줍니다 – user185955
작은 따옴표의 필요성을 반영하여 답변이 업데이트되었습니다. 왜 해결되지 않는지, 나는 모른다. 여기에 새로운 세션에서 잘 작동합니다. 발생하는 상황을 파악하기 위해 로깅을보다 자세하게 표시하는 데 도움이 될 수 있습니다. (심볼 템플리트 mprintnest mlogic mlogicnest) – mvherweg
원본 게시물과 같은 통과 시나리오에서 테스트 중인지 확인할 수 있습니까? 패스 스루가 아닐 때 작동합니다. – user185955