大した内容じゃないですが、基本コンボを紹介。
まずATTRIBステートメントの性質から。
LABEL, LENGTH などの変数属性を、まとめて定義できるステートメント。
データステップの一番先頭に書くと、ATTRIBに指定した順番で変数が並んでくれる。 |
よくデータセット作成のシメとして、きちんと変数属性を定義する目的で使ってます。
例を見てみましょう。
*** 適当なサンプルデータ作成 ;
data DT1; retain A B C D E F 1 G "aa" H '20:00't ; run;
*** 要る変数だけ属性定義してKEEPする例 ; data OUT1; attrib A label="あ" length=8. B label="い" length=8. C label="う" length=8. G label="え" length=$10. H label="お" length=8. format=time5. ; set DT1; keep A B C G H; run;
|
解説
ATTRIBで変数属性を定義し、これら変数をKEEPで残しています。
ここで、ひとつ無駄がある。
KEEPする前の状態として、変数はATTRIBで指定した順番に並び、ATTRIBで指定されてないものはそのうしろに並びます。
(順番・・・A B C G H D E F)
なので、「変数名をいっきに指定する方法 [まとめ]」のテクニックを利用してKEEPの部分を
keep A -- H ;
|
と省略して書いた方が楽です。
ちなみにKEEPあるあるで今回の話しに限ったことではないですが、後から保持する変数が追加になったとき、KEEPにその変数を書き忘れがちっていう、SASプログラマーあるあるにご留意を。
今回の例では変数の数が少ないので、必要性を感じづらいかもしれないですが、
実務では沢山の変数を扱うことになるので、その便利さがわかると思います。
0 件のコメント:
コメントを投稿