データセット作成時に変数の並び順を指定する方法

[OS]ALL
[リリース] ALL
[キーワード] VARIABLE, ORDER, FORMAT, LENGTH

[質問]

SASデータセットの変数の並び順を制御する方法はありますか。

[回答]

SASではプログラム中で変数を宣言するタイミングが早い順番に、変数の並び順が決定されます。この規則を応用することで、データセット内の変数の順番を任意に指定できます。もし、同じ変数に対する宣言が複数ある場合には、より早い宣言が有効になります。

変数を宣言する定義のうち、代表的な2つのステートメントをご紹介します。

■ LENGTHステートメントを使用する方法
変数の定義順序を指定するために、変数の属性(数値・文字)、および長さを定義するLENGTHステートメントを利用します。

                                      /* LENGTH ステートメントの例 */
   DATA test_len;
     LENGTH weight 8 height 8 age 8 sex $ 1 name $ 8;
     SET sashelp.class;
   RUN;

■ FORMATステートメントを使用する方法
変数の定義順序を指定するために、変数の出力形式(フォーマット)を定義するFORMATステートメントを利用します。

                                      /* FORMAT ステートメントの例 */

   DATA test_fmt;
     FORMAT weight height age sex name;
     SET sashelp.class;
   RUN;

ただし、SETステートメントには変数を宣言することと同等の機能があるので、上記の各ステートメントは、SETステートメントよりも先に指定してください。