SASにおける「:」コロン の利用法についてはSAS Technical News 2010Autumnの
「●意外と知らない!? コロンの活用術をご紹介」で網羅的に紹介されているのですが、
ひとつ納得できないのが、データセット名に対しての前方一致参照の例がなんでproc datasetsやねんというところです。
PROC DATASETS LIBRARY=work;
DELETE _ : ; /* アンダースコアから始まるデータセットを一括削除 */
QUIT;
いやそれはそれで当然正解なんであっているんですが。
最近、それのせいでデータセット名に対してのコロン前方一致はDATASETSプロシジャ特有の文法であると勘違いしている方がいて、もう全てはSAS社のせいではないかと思います。
要するに何がいいたいかというと
data DS_1;
X=1;
run;
data DS_A;
X=2;
run;
data DS_2;
X=3;
run;
data DS_;
X=4;
run;
というデータセットがWORKにあって
data OUTPUT;
set DS_:;
run;
を実行すると上の4つのデータセットがすべてSetの対象となって実行されるということです。
なお、順番は辞書順ですので、実際データセットの中身は以下のようになります
ちなみにこれ、SAS9.2からですので要注意です。
9.2のデータステップ部門における拡張点で一番いけてるのは地味にこれじゃないでしょうか?
はよ後方一致と中間一致のいいやり方もつくってほしいです。SUBSTARめんどう
0 件のコメント:
コメントを投稿