ラベル proc options の投稿を表示しています。 すべての投稿を表示
ラベル proc options の投稿を表示しています。 すべての投稿を表示

ユーザー定義フォーマットの確認やオプションの確認など

自分用のメモです。

オプションとユーザー定義フォーマットを確認したい時にもう100回くらい、書き方忘れるのでここに書きます。

proc options define;
run;

で使用可能なオプションの説明がログに山ほどでる。

proc options option=firstobs define;
run;

とoption=オプション名で指定すればそのオプションだけ調べれる。

けど大体、ヘルプかリファレンスみるかwebで調べる方が詳しくわかる。


ユーザー定義フォーマットの中身を確認するfmtlibオプションを、いつも忘れるので。


proc format;
 value SEX 1='男'
           2='女';
run;

proc format lib=work fmtlib;  
run;









データセットに吐き出す場合は

proc format lib=work cntlout=A1;  
run;


データセットから呼び込む場合はcntlinで。


SASのWORKの実際の場所に、異常終了した時の残り滓ファイルがたまるので大掃除する話

WORKライブラリに割り当てられた場所が実際PC上で、どこに存在するかについて、普段あまり意識しません。

ライブラリのパスを返すpathname関数や

data _NULL_;
X=pathname("WORK");
put X;
run;

optionss プロシジャを使って、WORKの実際の場所を割り出すことができます

proc options option=work;
run; 

環境によるかもですが、「SAS Temporary Files」というフォルダの下に
「_TD○○」といったフォルダがあり、そこがWORKに割り当てられていると思います
この「_TD○○」はSASを閉じると、フォルダごと消滅します。
またSASを立ち上げると、新たに「_TD○○」(○の部分は変わる)が作成されそこが
現セッションのWORKの実存パスになります。

普通にSASを立ち上げて、閉じていれば「SAS Temporary Files」の下には何もないのですが
異常終了するなどしてWORKの除去機能が正常に作動しなかった場合、「_TD○○」という過去の
一時フォルダが残ってしまうことがあります。

こいつらは只のゴミなのでばっさり消してしまって容量をあけた方がよいです。

以下はSASのFAQにあった同様の内容です。
http://www.sas.com/offices/asiapacific/japan/service/technical/faq/list/body/pc055.html



で、関連する荒業として、例えばグラフ等の画像ファイルをgifやpngなどで作成して、それをEXCELやWORDにDDEで貼りつけるプログラムを書く場合、いったん画像ファイルを作成する必要があるのですが、貼り付けが終わった後に画像はまとめて全部消したいと言った場合に、テンポラリーな画像の置き場としてWORKに割り当てられたフォルダをファイルの保存場所に使うという技です。
正常に終了すれば、いちいち画像を消すプログラムを書かなくても、WORKもろともフォルダごと葬られるからです。
「_TD○○」の中のファイルはSASが作ったものでなくても、ロックしてない限りいっしょくたに消されます。
まあSASの機能を逆手にとった外法に近いので、お勧めはしません。