ATTRIB RENAME SAS

【SAS】ATTRIBとRENAMEを同時に使うときの注意点

投稿日:

今回はATTRIBとRENAMEを同時に使うときに注意するべきポイントについて解説していきます。

SAS日付となっているid1をddMONyyyy形式にして、id4とするケースを仮定します。

結論:ATTRIBはRENAMEの変更先にできないけど、代入先にはできる。


/* attrib_1 */
data data1;
 id1="22229"; id2="22229"; id3="22229";
   output;
 id1="22229"; id2="22229"; id3="22229";
   output;
 id1="22229"; id2="22229"; id3="22229";
   output;
run;


data data2; set data1;
  attrib id4 format=date9. ;
  rename id1 = id4;
run;
  • ATTRIBをRENAMEの変更先にしてしまうとWARNINGとなる。
  • さらにid4は定義したはずのddMONyyyy形式になっていない。

/* attrib_2 */
data data1;
 id1="22229"; id2="22229"; id3="22229";
   output;
 id1="22229"; id2="22229"; id3="22229";
   output;
 id1="22229"; id2="22229"; id3="22229";
   output;
run;


data data2; set data1;
  attrib id4 format=date9. ;
  id4 = id1;
run;

  • ATTRIBを代入先にすれば、正常に動く。
  • id4は定義したddMONyyyy形式になっている。

/* attrib_3 */
data data1;
 id1="22229"; id2="22229"; id3="22229";
   output;
 id1="22229"; id2="22229"; id3="22229";
   output;
 id1="22229"; id2="22229"; id3="22229";
   output;
run;


data data2; set data1;
  attrib id4 format=date9. ;
  id4 = id1;
  drop id1;
  rename id4 = id1;
run;
  • ATTRIBを代入先にすれば、正常に動く。
  • id4は定義したddMONyyyy形式になっている。
  • もともとあったid1をddMONyyyy形式にする場合は、dropとrenameで実現できる。

-ATTRIB, RENAME, SAS

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

関連記事

【SAS】TODAY()とDATE()はどちらもSAS日付値を取得する。

以下の2記事でtoday()を使ってきました。 【SAS】PUT+DATE,YYMMDDはSAS日付値をフォーマットを変換して表示する 【SAS】YYMMDDの可能性を考える(表示できる日付形式はどこ …

【SAS】^=(ノットイコール)

今回は^=について解説します。 /* ^=”” */ data data1; id=”A”; chiku=”SHINJUKU”; output; id=”B”; chiku=”ICHIGAYA”; o …

【SAS】FREQプロシージャは頻度集計とクロス集計をする その2【LIST】【CROSSLIST】【NOROW】【NOCOL】

今回はFREQプロシージャにオプションを用いた場合について解説します。  FREQプロシージャの基本的な使い方については過去記事で解説しています。⇒【SAS】FREQプロシージャは頻度集計とクロス集計 …

【SAS】TRANSTRN関数は指定した文字を別の文字に変換する。その2 再帰的使用

今回はTRANSTRN関数の再帰的使用について解説していきます。 (参考:【SAS】TRANSTRN関数は指定した文字を別の文字に変換する。 | ビジネスイッチ (how-to-business.co …

【SAS】ODS PDFは結果内容をPDFファイルとして出力する

今回はPDFについて解説します。 /* pdf */ data data1; Id1=1111; Char1=”AAAA”; output; Id1=2222; Char1=”BBBB”; outpu …