変数名の略記法について
[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;
|
|