다소 이상한 문제가 있습니다. SAS에서 다음 코드를 실행하고 있습니다.데이터 라인이 SAS에 % 포함됩니다.
data manual_input;
infile datalines dlm=',';
length name $ 32 ;
input name $ varlist_no ;
datalines;
K0002,1
B0000,1
;
run;
우리 유닉스 서버의 Enterprise Guide에있는 내 향상된 편집기에서 이것을 정상적으로 실행할 때 문제없이 작동합니다.
이filename ds_code "/wload/something/something/foo/bar";
%include ds_code ("varlist_input_test.sas") /source2;
코드는 더 이상 작동 다음 없기 때문에
나는 %를 통해 실행
는 문을 포함한다. 다음과 같이 오류가 발생합니다.NOTE: Invalid data for varlist_no in line 24 7-80.
RULE: ----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0
24 CHAR K0002,1.
ZONE 43333230222222222222222222222222222222222222222222222222222222222222222222222222
NUMR B0002C1D000000000000000000000000000000000000000000000000000000000000000000000000
name=K0002 varlist_no=. _ERROR_=1 _N_=1
NOTE: Invalid data for varlist_no in line 25 7-80.
25 CHAR B0000,1.
ZONE 43333230222222222222222222222222222222222222222222222222222222222222222222222222
NUMR 20000C1D000000000000000000000000000000000000000000000000000000000000000000000000
name=B0000 varlist_no=. _ERROR_=1 _N_=2
NOTE: The data set WORK.MANUAL_INPUT has 2 observations and 2 variables.
NOTE: Compressing data set WORK.MANUAL_INPUT increased size by 100.00 percent.
Compressed is 2 pages; un-compressed would require 1 pages.
무엇을 제공합니까?! 쉼표로 구분 된 입력을 지정했습니다. 또한 데이터 라인이 매크로 내에서 작동하지 않는 이유를 이해합니다. 왜 정적 데이터 세트 입력을 반복적으로 실행해야합니까? 그러나 카드/데이터 라인을 사용하는 코드를 호출하기 위해 include 문을 사용하는 것이 완벽하게 용인 될 수 있다고 생각합니다.
누구든지 아이디어가 있습니까?
당신은에'TERMSTR ='옵션을 추가 할 수 있습니다 '% INCLUDE' 문. – Tom
좋은 지적이 추가되었습니다. – Joe