|
|
ストアドプログラムの作成方法
[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 旧入力データセット = 新入力データセット; その際、新しく指定する入力データセットに含まれる変数の数や属性は、元の入力データセットに含まれているものと一致している必要があります。
|
|||||