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 Base Programmingの資格を取りました。試験の流れを解説します。[出題された問題のリークも]

仕事でSASというプログラミング言語を使用してるのですが、 SASの資格を欲しいと思って先日、SASの試験Base Programmingを受けてきました。 2021年内に2回受験をして、 1回目は不 …

【SAS】SASで良く使うテクニック。その3 「Ctrl+D」~データセットのオブザベーション数が多いとき~【Excel】

今回はSASで良く使うテクニックということで、データセットのオブザベーション数(行数)が多いときは「Ctrl+D」が役に立つ理由を解説していきます。 (参考:【SAS】SASで良く使うテクニック。その …

【SAS】計算で求められた変数に対するIFとWHEREの振舞いの違い【SAS Base Programming対策1】

/* where id3 */ data data1; id1=1111; id2=1111; id3=1111; output; id1=2222; id2=2222; id3=2222; outp …

【SAS】||(!!)は文字列の連結ができる。【結合】

今回は||(!!)について解説します。 /* || */ data data1; Id1=1111; Char1=”AA AA”; output; Id1=2222; Char1=” BBBB”; o …

【SAS】データセットのオブザベーション数で処理を分岐させる方法【IF】【NOBS】

今回は、データセットのオブザベーション数により、処理を分岐させる方法について解説していきたいと思います。 (参考:【SAS】データセットの有無で処理を分岐させる方法【%IF】【EXIST】 | ビジネ …