投稿

ラベル(proc optload)が付いた投稿を表示しています

環境によっては ls, ps の値を変えてしまうオプションがある・・・らしいので注意 - SAS

SAS 雲丹では変わらなかったのですが、下記のオプションを変更すると、ls, ps の値が変わってしまうようです。環境によっては起きないみたいです。 PAPERSIZE ORIENTATION TOPMARGIN BOTTOMMARGIN LEFTMARGIN RIGHTMARGIN 日本語オンラインヘルプには下記のように記載があります。 このオプションの値を変更すると、移植可能な LINESIZE=および PAGESIZE=システムオプションの値が変更される場合があります。 SAS 9.4 システムオプション:リファレンス 第3版(PDF) 自分の使っている環境が、これらのオプションを使用したとき、または proc optload を使用したとき、ps, ls の値が変わる環境なのかどうか、気をつけてみてください。 変わってしまう環境の場合は、ps, ls のオプションを再設定するように心掛けたり、上記のオプションたちを使わないようにするといったことが必要かもしれません。 参考サイト ODS出力時の用紙サイズや余白などを設定するオプション [まとめ] | SAS忘備録

現在のオプションの内容をデータセットに格納する proc optsave 、データセットに格納されたオプションの内容を反映させる proc optload - SAS

proc optsave と proc optload のご紹介です。proc optsave は現在設定されているオプションの内容をデータセットに格納させることができます。proc optload はオプションの内容が格納されているデータセットを用いて、オプションを変更させることができます。proc optsave で一時保存しておいて、proc optload で元に戻す、みたいな感じに使えますね。 オプションの内容はデータセットに格納されるので、WORK以外にデータセットを保存しておいて、オプションの内容を各プログラムで完全統一させたいときとかも使えるかもしれません。 では、どんなふうに書けばいいのか、オプションの内容をログに表示する proc options を用いて、テストコードを書いてみます。 テストコード options nonotes ; /* 指定したオプションの内容をログに表示 */ proc options option=obs ; run ; /* 現在のオプションの内容をデータセットに格納 */ proc optsave out=OPT ; run ; options obs=100 ; proc options option=obs ; run ; /* オプションの設定内容を戻す */ proc optload data=OPT(obs=max) ; run ; proc options option=obs ; run ; 実行時の obsオプションの設定は、デフォルト値のmaxです。はじめに、proc optsave でデータセット OPT にオプションの内容を格納します。つぎにoptions obs= で値を 100 に設定します。最後に proc optload で、オプションを変更する前の設定に戻します。 実行ログ 59 options nonotes ; 60 61 /* 指定したオプションの内容をログに表示 */ 62 proc options option=obs ; 63 run ; SAS (R) PROPRIETARY SOFTWARE RELEASE 9.4 TS1M2 ...