2009-05-07 4 views
10

향상된 편집기에서 색칠하면 힌트가 생길 수 있습니다. 그러나 메인 프레임에서 편집자에게 도움이 될만한 것이 있다고는 생각하지 않습니다.SAS에서 구문 오류를 잡기위한 좋은 기술/옵션은 무엇입니까?

가 나는 OBS = 0 옵션은 0 observarions 입력 데이터 세트에서 읽기 및 NOREPLACE가 같은 이름 중 하나가 기존의 SAS 데이터 세트를 파일 덮어 쓰기하지 SAS를 알려줍니다 지정합니다

OPTIONS OBS=0 noreplace; 

사용합니다. 새 데이터 세트를 작성하는 경우, 모든 속성이 이지만 0 관측으로 작성됩니다. 필요한 경우 구문 오류를 찾을 수 없을 때 옵션 Obs = max replace로 옵션을 다시 설정하십시오.

다른 기술에도 관심이 있습니다. 덕분 옵션에 대한

설명 내가 실행 문에 취소 옵션을 사용 here.

답변

16

에서왔다. 데이터 단계의 구문을 확인한 다음 실제로 실행하지 않고 종료합니다. 그것은 proc SQL에서 noexec 옵션에 대한 데이터 단계 아날로그입니다. 이 SUGI pdf

+4

팁이 좋습니다. 취소 대신 매크로 var를 사용하는 팁을 클래스 또는 종이에서 얻는 것을 기억합니다. 그런 다음 프로그램을 실제로 실행하려고 할 때 매크로 var를 공백으로 변경할 수 있습니다. 링크를 가져 주셔서 감사합니다. 좋은 종이입니다. –

+0

위대한 팁! 감사! –

+0

오, 좋은데 -'noexec'을 사용했지만 비슷한 데이터 스토어가 있다는 것을 몰랐습니다 ... 감사합니다! –

-1

에서

data something; 
<stuff here> 
run cancel; 

많은 자세한 내용은 내 PC와 강화, 색상 코드 편집기에 SAS 내 PC에 내 모든 코드를 작성합니다. 그런 다음 SAS/CONNECT를 사용하여 메인 프레임에서 처리합니다. 데이터 세트가 DASD에 있다면, 나는 SAS/CONNECT 및 Enterprise Guide를 사용하여 메인 프레임에서 코드를 직접 실행합니다 (JCL 없음!) 데이터 테이프가 관련되어있어 일괄 실행이어야한다면 SAS/CONNECT 및 SAS ftp 엔진이 코드를 메인 프레임 배치 대기열로 보냅니다. SAS 전자 메일 엔진을 사용하여 출력과 로그를 이메일로 전송합니다. 메인 프레임에서 출력용 WORD 문서를 생성하도록 ODS 샌드위치 코드를 작성했습니다. PROC 다운로드를 사용하여 내 서버로 출력을 다운로드하므로 WORD에서 열 수 있습니다.

+0

SAS/CONNECT 및 SAS Enterprise Guide는 Base SAS와 별도로 라이센스되므로이 솔루션은 해당 제품의 라이센스를 취득하지 않은 사용자에게는 적용되지 않습니다. –

-1

이 조언은 언어에 구애받지 않습니다.

구문 오류 (논리 오류)를 잡는 가장 좋은 방법은 자신의 코드 (대부분의 구문 오류를 포착해야 함)를 자세히 읽는 것입니다. 데이터 세트 (나머지 구문 오류는 물론 테스트가 잘 설계된 경우 많은 논리 오류가 발생합니다).

나는 문법 검사에 대한 가치가 있지만, 처음 컴파일하기 전에 철저하게 읽고 이해해야 만한다. 을 알고 있으니을 컴파일하면 좋은 결과를 얻을 수있다. Steve McConnell은 Code Complete (2 판 827 페이지 참조)에서이 아이디어를 다루었습니다.

P. 원래 게시물에서 구문 강조를 언급했습니다. SAS 파일에 구문 강조를 수행하는 다른 편집기 (예 : VIM)가 있습니다.

관련 문제