2016年7月12日火曜日

【RENAMEステートメント】変数名の変更



※ データステップのMODIFYステートメントなど、特定の機能を用いるとRENAMEステートメントが動作しないことがあるので注意。



以下の構文で変数名を変更することができます。



構文

RENAME
        変更前の変数名1 = 変更後の変数名1
        変更前の変数名2 = 変更後の変数名2
        ・・・
 ;

💬 
  • 通常のステートメントはPDVという「一時的な処理スペース」で実行されますが、RENAMEステートメントは「一時的な処理スペース」の結果を「出力データセットへ書き込む時」に実行します
  • つまり、最終的に適用されるイメージです。また適用されるタイミングが決まっているので、RENAMEステートメントを記述する位置は関係ありません(プログラムの先頭や最後に書いても挙動は変わらない)






data DT2;
   set SASHELP.CLASS;
   rename AGE=AGE2;
run;

変数AGE を AGE2に変更しています。




注意点

RENAMEステートメントを DROP、KEEPステートメントと併用して使う場合、以下のルールを理解しておいた方が良いです。


【ルール】
ステートメントの実行順は、DROP → KEEP → RENAME


このルールに従うと、以下のプログラムは正しく動かない事が分かると思います。

data DT2;
  set SASHELP.CLASS;
  rename AGE=AGE2;
  drop AGE2;
run;

0 件のコメント:

コメントを投稿