変数名の略記法について
[OS] ALL
[リリース] ALL
[キーワード] BASE, DATA, VARIABLE, SIMPLIFICATION
[質問]多くの変数を持つデータセットから、KEEPステートメントを指定して必要な変数のみを処理対象としています。このような際に、プログラムを簡略化する方法はありますか。
[回答]変数名の略記法を使用すると便利です。以下のサンプルプログラムを参考にしてください。 /* サンプルデータセットの作成1 */ DATA sample1; ARRAY a(10); /* ARRAYステートメントで変数a1からa10までを作成 */ DO i=1 TO 10; DO j=1 TO 10; a(j)=i; END; OUTPUT; END; DROP i j; RUN; /* 数字付きの変数名をまとめる記述 */ DATA result1; SET sample1; KEEP a2-a4; RUN; /* サンプルデータセットの作成2 */ DATA sample2; SET sashelp.class; RUN; /* 変数の並び順を利用しての記述 */ DATA result2; SET sample2; KEEP sex--height; RUN; /* 変数の型制限 */ DATA result3; SET sample2; *KEEP sex _CHARACTER_; KEEP sex _NUMERIC_; RUN; /* 変数の並び順を利用しての記述 + 変数の型制限 */ DATA result4; SET sample2; KEEP name-numeric-height; *KEEP name-character-height; RUN;また、略記法ではありませんが、変数名が特定の文字列で始まる場合などは、「:」(コロン)を利用して変数の指定を簡略化できます。 /* 先頭が aで始まる変数名を選択 */ DATA result5; SET sample1; KEEP a: ; RUN; |