2017-02-16 6 views
0

PROC SQL을 사용하여 만든 테이블에서 SAS의 데이터를 CSV 파일로 내보내려고합니다. 나는 다음과 같은 코드를 시도 (test_data가 PROC SQL Select 문을 사용하여 생성 된) : 실행할 때libname을 사용하여 SAS에서 CSV 파일 인쇄

LIBNAME libout "C:\Users\Outbox"; 
proc export data=test_data dbms=csv replace outfile="&libout.\test_data.csv"; 
run; 

를이 코드 냈다 다음과 같은 오류가 나타납니다 :

ERROR: Physical file does not exist, C:\windows\system32\&libout.\test_data.csv. 

나는이를 사용하여 경로를 지정할 수 있습니다 알고 outfile에 대한 문자열을 직접 입력해야하지만 나중에 다른 시스템에서 LIBNAME을 사용하려고합니다. 미리 감사드립니다.

답변

1

libname은 SAS 데이터 세트 용입니다. filename은 파일 용입니다.

filename fileout "C:\Users\Outbox\test_data.csv"; 
proc export data=test_data dbms=csv replace outfile=fileout; 
run; 

불필요한 답변과 마찬가지로 디렉토리를 지정하려는 경우 매크로 변수를 사용할 수도 있습니다. 그러나 주위에 따옴표를 넣지 마십시오. 단지 libnames처럼 - 당신은 매우 다른 위치에 사용 후 파일 이름 또는 하나 개의 위치에 매크로 변수를 지정할 수 있습니다 경우

%let outdir = c:\users\outbox; 
proc export data=test_data dbms=csv replace outfile="&outdir.\test_data.csv"; 
run; 

, 그들은 순차적 될 필요가 없습니다.

+0

완벽하게 작동했습니다! 감사! – MRR

0

SAS 데이터 세트를 저장하려면 libname을 사용하십시오. 이 경우 csv 파일을 저장하려고하므로 매크로가 필요합니다. %let libout = "C:\Users\Outbox";