ATTRIB PUT SAS

【SAS】ATTRIBによる形式変換とPUTによる形式変換の違いを解説

投稿日:

今回は、ATTRIBによる形式変換とPUTによる形式変換の違いを解説します。

結論:ATTRIBは入力項目が数値型、文字列型どちらにも対応できるが、

   PUTは入力項目が数値型の時しか使えない。

(参考:【SAS】ATTRIBの使い方を解説 | ビジネスイッチ (how-to-business.com)

(参考:【SAS】PUTはSAS日付値をフォーマットを変換して表示する【DATE】【YYMMDD】【DATETIME】【TIME】【TOD】 | ビジネスイッチ (how-to-business.com)


/* 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. ;
  id4 = id1;
run;

  • attrib-formatは”22229″⇒10NOV2020に形式変換する。

/* 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-formatは22229⇒10NOV2020に形式変換する。

/* put_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;
  id4 = put(id1, date9.);
run;
  • putは”22229″を型変換できない。

/* put_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;
  id4 = put(id1, date9.);
run;
  • putは22229⇒10NOV2020に形式変換する。

-ATTRIB, PUT, SAS

執筆者:


comment

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

関連記事

【SAS】%SYSFUNC関数はデータステップの外でも関数を使えるようにする。その2(%LETステートメント中の挙動)

今回は%SYSFUNC関数について、%LETステートメント中の挙動に着目して解説します。 /* substr */ %let a = substr(123456789, 2, 4); data dat …

【SAS】DROPで良く問われる文法【SAS Base Programming対策8】

今回もDROPについて解説します。 (対比:KEEP 【SAS】KEEPはカラムの選択に使える。 | ビジネスイッチ (how-to-business.com)) 過去記事ではDROPの使い方について …

【SAS】INTNX関数は指定期間の条件を満たす日付けを返す。

今回はINTNX関数について解説します。 /* intnx_1 */ data data1; Id1 = intnx(“YEAR”,’16jan2022’d,1); format Id1 yymmdd …

【SAS】LABELオプションは変数名ではなく、ラベル名を出力する。【PRINTプロシージャ】【SAS Base Programming対策2】

今回はLABELオプションについて解説します。 SAS Base Programmingの四択問題でも出されそうな感じです。 /* label */ data data1; attrib Id1 le …

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

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