Tipsと呼ぶほど大したものではありませんが、結構便利な使い方です。
まず、変数名の略記方法ですが、
例えばvar1、var2、var3という変数がある場合にそのすべてを指定する記述は、var1-var3という方法があります。
また、var:でも可です。(ただし、var5とかvariable1という変数があればそれも対象になります。)
ここでは、var:の略記方法を使った例を挙げます。
INFILEステートメントで外部ファイルを読み込む場合、
最終的には外部ファイルの項目をすべてデータセットに出力する必要がないときがあります。
読み込んだ項目によって新しく変数を作成したり、レコード抽出のためだけに必要な項目がある場合です。
このようなとき、最終的にデータセットに出力する必要がない項目を格納する変数には、"_"のような共通の接頭語を付けておきます。
data dat1(drop=_:) ;
infile "D:\\inputdat1.csv" dsd missover firstobs=2 ;
input key1 key2 _key3 _var1 _var2 var3 var4 var5 _var6 _var7 ;
if _var1 and _var2 ;
key3 = put(_key3,z8.) ;
var8 = _var6 + _var7 ;
run ;
こうしておくことで「data dat1(drop=_:) ;」という記述が可能になり、
dat1というデータセットにはkey1、key2、key3、var3、var4、var5、var8の変数のみが出力されます。
この例程度の項目数であれば、あまり利便性は感じられないかもしれません。
また、保持する項目は明示的にKEEPステートメントで指定するというルールでコーディングする場合もあるかもしれません。
使い分ける判断力は必要かと思いますが、覚えておいても損はしないでしょう。
0 件のコメント:
コメントを投稿