SAS에서 구문 오류를 잡기 위한 좋은 기술/옵션은 무엇입니까?

StackOverflow https://stackoverflow.com/questions/836157

  •  08-07-2019
  •  | 
  •  

문제

향상된 편집기에서는 색상을 통해 힌트를 얻을 수 있습니다.그러나 메인프레임이나 편집기에는 도움이 될 만한 것이 아무것도 없다고 생각합니다.

나는 사용한다

OPTIONS OBS=0 noreplace;

OBS = 0 옵션은 입력 데이터 세트에서 0 개의 Observarions를 읽도록 지정하고 NorePlace는 SAS에 동일한 이름 중 하나의 기존 SAS 데이터 세트를 오버팅하지 말라고 지시합니다.새로운 데이터스트를 작성하는 경우 모든 속성이 있지만 0 관측치로 생성됩니다.(필요한 경우 옵션을 Options Obs=max로 재설정해야 합니다.더 이상 구문 오류가 발견되지 않은 경우).

다른 기술에도 관심이 있습니다.감사해요

옵션에 대한 설명은 다음에서 나왔습니다. 여기.

도움이 되었습니까?

해결책

실행 문에서 취소 옵션을 사용합니다. 데이터 단계의 구문을 확인한 다음 실제로 실행하지 않고 종료합니다. 데이터 단계 아날로그입니다 noexec Proc SQL의 옵션.

data something;
<stuff here>
run cancel;

이것에 대한 더 많은 세부 사항 Sugi PDF

다른 팁

저는 PC의 SAS와 향상된 색상 코드 편집기를 사용하여 PC에서 모든 코드를 작성합니다.그런 다음 SAS/CONNECT를 사용하여 메인프레임에서 처리합니다.데이터 세트가 DASD에 있는 경우 SAS/CONNECT 및 Enterprise Guide를 사용하여 메인프레임에서 코드를 직접 실행합니다(JCL 없음!). 관련 데이터 테이프가 있어 일괄 실행이 필요한 경우 SAS/CONNECT 및 SAS를 사용합니다. ftp 엔진을 사용하여 코드를 메인프레임 배치 대기열로 보냅니다.나는 SAS 이메일 엔진을 사용하여 내 결과와 로그를 이메일로 돌려드립니다.메인프레임이 출력용 WORD 문서를 생성하도록 코드 주위에 ODS를 삽입했습니다.PROC 다운로드를 사용하여 출력을 내 서버에 다운로드하여 WORD로 열 수 있습니다.

이 조언은 언어 불가지론 적입니다.

구문 (및 논리) 오류를 포착하는 데 바람직한 기술은 자신의 코드 (또는 대부분의 구문 오류를 포착해야 함)를 면밀한 읽기 (또는 검사)를 수행하고 소형 데이터 세트에서 단위 테스트를 수행하는 것이라고 주장합니다. 테스트가 잘 설계된 경우 나머지 구문 오류와 많은 논리 오류를 파악하십시오).

구문 확인을 분리 할 가치가 있다는 데 동의하지만 첫 번째 컴파일 전에 코드를 철저히 읽고 이해하는 데 동의합니다. 알다 컴파일은 노력하기에 이상적입니다. Steve McConnell은 코드 완료 에서이 아이디어를 다루고 있습니다 (2 판 827 페이지 참조).

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

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top