2019年10月26日土曜日

データステップでOSのコマンドを実行する「CALL SYSTEM」




データステップでOSのコマンドを実行する「CALL SYSTEM」をご紹介します。



例1 (Windows環境)
options noxwait;

data _null_;
    call system( "start excel" );
run;

  • 「call system( "start excel" )」でExcelを起動するOSのコマンドを生成してます。
  • OSのコマンド実行時にコマンドプロンプトが開かれてSASの処理が一時停止状態になります。システムオプション「noxwait」を設定すると、コマンド実行後にコマンドプロンプトを自動で閉じてSASの処理を継続させます。


注意点
  • コマンドの長さは1024バイト以内...とマニュアルに書いてありますが、1024バイトの長さにおさめたコマンドがエラーになったことあるので要注意
  • 特定のシステムオプション(XSYNC、NOXSYNC、XWAIT、NOXWAIT、XCMD、NOXCMD)が動作に影響するので、これらオプションの設定にも留意が必要


なんといっても、データステップでOSのコマンドが生成できちゃうのが魅力ですね。


0 件のコメント:

コメントを投稿