ストアドプログラムの作成方法
[OS]ALL
[リリース] 6.09e, 6.12, 8.1, 8.2
[キーワード] pgm=, redirect, input
[質問]DATAステッププログラムをあらかじめコンパイルして保存しておき、後で呼び出して実行することはできますか?
[回答]通常、DATAステップでプログラムをサブミットすると、SASはプログラムをコンパイルし、その後に実行しますが、ストアドプログラムはすでにコンパイル済みのため、コンパイルせずに実行することが可能です。したがって、多くのステートメントを含むDATAステップをストアドプログラムとして作成すれば、コンパイル時間を節約できるため、プログラムの実行時間が短縮されます。 また、ストアドプログラムの実行時に、元のプログラムで指定した入・出力データセット名を変更することも可能です。定型的な処理を行なうDATAステップを頻繁に使用する場合に向いている機能といえます。 以下は、ストアドプログラムの作成、および実行例となります。
/** ストアドプログラムの作成 **/ /* PGM=に作成するストアドプログラム名を指定 */ DATA store1 / PGM=makedata; SET sashelp.class; RUN; /** ストアドプログラムの実行 **/ /* PGM=実行するストアドプログラム名を指定 */ DATA PGM=makedata; RUN; /** 出力データセット名を変更 **/ DATA PGM=makedata; /* store1(旧出力データセット) = store2(新出力データセット) */ REDIRECT OUTPUT store1=sotre2; RUN; なお、入力データセット名を変更する場合は、REDIRECTステートメントにて以下を指定します。 REDIRECT INPUT 旧入力データセット = 新入力データセット; その際、新しく指定する入力データセットに含まれる変数の数や属性は、元の入力データセットに含まれているものと一致している必要があります。
|