SASでは、構文エラーをキャッチするための良いテクニック/オプションは何ですか?

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

  •  08-07-2019
  •  | 
  •  

質問

拡張エディターでは、色付けによってヒントが得られる場合があります。ただし、メインフレームでは、エディターに役立つものはないと思います。

使用しています

OPTIONS OBS=0 noreplace;

obs = 0オプションは、入力から0個の観測値を読み込むことを指定します データセットとNOREPLACEは、既存のSASデータセットを次のいずれかで上書きしないようSASに指示します。 同名。新しいデータセットを作成する場合、すべての属性を使用して作成されますが、 ただし、観測値は0です。 (必要に応じて、オプションObs = max replaceにオプションをリセットしてください。構文エラーが検出されなくなったら)。

他のテクニックにも興味があります。 ありがとう

オプションについての説明は、こちらから来ました。

役に立ちましたか?

解決

runステートメントでキャンセルオプションを使用します。データステップの構文をチェックし、実際に実行せずに終了します。これは、proc sqlの noexec オプションに類似したデータステップです。

data something;
<stuff here>
run cancel;

この SUGI pdf

に詳細が記載されています。

他のヒント

すべてのコードをPCで作成し、PCのSASと強化された色分けされたエディターを使用します。次に、SAS / CONNECTを使用してメインフレームで処理します。データセットがDASD上にある場合、SAS / CONNECTおよびエンタープライズガイドを使用してメインフレーム(JCLなし)でコードを直接実行します。データテープが含まれているためバッチ実行する必要がある場合は、SAS / CONNECTメインフレームバッチキューにコードを送信するFTPエンジン。 SAS電子メールエンジンを使用して、出力とログをメールで返します。メインフレームに出力用のWORDドキュメントを生成させるために、ODSにコードを配置します。 PROCダウンロードを使用して出力をサーバーにダウンロードし、WORDで開くことができます。

このアドバイスは言語に依存しません。

構文(および論理)エラーをキャッチするための好ましい手法は、独自のコード(大部分の構文エラーをキャッチするはずです)の詳細な読み取り(または検査)を実行し、その後に小さなデータセットの単体テストを実行することです(テストが適切に設計されている場合、残りの構文エラーと多くの論理エラーをキャッチします)。

単独で構文チェックする価値があることに同意しますが、最初のコンパイルの前にコードを十分に読んで理解し、コンパイルすることを知っていることは努力するのに理想的です。 Steve McConnellは、Code Completeでこのアイデアに触れています(第2版の827ページを参照)。

PS元の投稿で構文の強調表示について言及しました。 SASファイルの構文強調表示を実行する他のエディター(VIMなど)があります。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top