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】IFステートメントは処理を分岐できる。その2~ELSE IF、ELSE~

前回はIF文のオーソドックスな構文を解説しましたが、今回はELSE IFとELSEを使った構文についても解説していきます。 (参考:【SAS】IFステートメントは処理を分岐できる。その1 | ビジネス …

【SAS】TRANSPOSEは縦持ち、横持ちを変換できる。その1

今回はTRANSPOSEについて解説します。 /* num char char */ data data1; NO=1111; CHAR=”A”; MOJI=”AAAA”; output; NO=22 …

【SAS】PRINTプロシージャは入力データセットの中身を結果に表示する【obs=】

今回はPRINTプロシージャについて解説します。 /* print */ data data1; 番号=”AAAAAA”; コード=”02″; 金額=1999; output; 番号=”AAAAAA” …

【SAS】DATASETSプロシージャを使ってデータセットを削除する。その2【KILL】

今回はDATASETSプロシージャを使ってデータセットを削除する方法の続きを解説していきます。(前回の参考:【SAS】DATASETSプロシージャを使ってデータセットを削除する。【DELETE】 | …

【SAS】SUMMARYは集計に便利

今回はSUMMARYについて解説します。 /*正常形*/ data data1; 契約番号=”AAAAAA”; 会社コード=”02″; 請求金額=4999; output; 契約番号=”AAAAAA” …