PUT SAS

【SAS】PUTは数値型を文字型に変換する

投稿日:2021年10月25日 更新日:

今回はPUTについて解説します。


/*数値8桁*/
data work.a;
  a = put(20061228, 8.);
run;

  • 数値型⇒文字型への変換はputを使う。
  • 数値型20061228⇒文字型”20061228″になっている。
  • 8.で8桁入っている。

/*数値9桁*/
data work.a;
  a = put(200612288, 8.);
run;
  • 数値型⇒文字型への変換はputを使う。
  • 数値型200612288⇒文字型”2.0061E8″になっている。
  • 8桁に収まらないので、指数表記になった(?)

/*数値7桁*/
data work.a;
  a = put(2006122, 8.);
run;

  • 数値型⇒文字型への変換はputを使う。
  • 数値型2006122⇒文字型”2006122″になっている。
  • 8.で8桁まで入る。

/*文字列8桁*/
data work.a;
  a = put("20061228", 8.);
run;

  • 数値型⇒文字型への変換はputを使う。
  • 文字型”20061228″⇒文字型”20061228″になっている。(?)
  • 8.で8桁まで入る。

/*文字列9桁*/
data work.a;
  a = put("200612288", 8.);
run;

  • 数値型⇒文字型への変換はputを使う。
  • 文字型”200612288″⇒文字型”20061228″になっている。(?)
  • 8.で8桁まで入る。(最後の8は落ちる。)

/*文字列7桁*/
data work.a;
  a = put("2006122", 8.);
run;

  • 数値型⇒文字型への変換はputを使う。
  • 文字型”2006122″⇒文字型”2006122″になっている。(?)
  • 8.で8桁まで入る。

/*日本語*/
data work.a;
  a = put("あいうえお", 8.);
run;

  • 数値型⇒文字型への変換はputを使う。
  • 文字型”あいうえお”⇒文字型”あい�”になっている。(?)
  • 8.で8桁まで入る。
  • 数値ではない日本語には対応してないためか、文字化けしている。

/*数値+日本語*/
data work.a;
  a = put("123あいうえお", 8.);
run;

  • 数値型⇒文字型への変換はputを使う。
  • 文字型”123あいうえお”⇒文字型”123あ�”になっている。(?)
  • 8.で8桁まで入る。
  • 数値ではない日本語には対応してないためか、文字化けしている。

/*変数1*/
data work.a;
  b = 7;
  c = put(b, 8.);
run;

  • 数値型⇒文字型への変換はputを使う。
  • 数値型7⇒文字型”7″になっている。
  • 8.で8桁まで入る。
  • putの引数には変数を入れる事ができる。

/*best8桁*/
data work.a;
  a = put(20061228, best.);
run;

  • 数値型⇒文字型への変換はputを使う。
  • 数値型20061228⇒文字型”20061228″になっている。
  • best.で最適化され、8桁入る。

/*best9桁*/
data work.a;
  a = put(200612288, best.);
run;

  • 数値型⇒文字型への変換はputを使う。
  • 数値型200612288⇒文字型”200612288″になっている。
  • best.で最適化され、9桁入る。

/*best7桁*/
data work.a;
  a = put(2006122, best.);
run;

  • 数値型⇒文字型への変換はputを使う。
  • 数値型2006122⇒文字型”2006122″になっている。
  • best.で最適化され、7桁入る。

-PUT, SAS

執筆者:


comment

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

関連記事

【SAS】列名と列ラベルの表示を切り替える方法【LABEL】

今回はデータセットにおける列名と列ラベルの表示を切り替える方法を解説します。 /* label */ data data1; attrib Id1 length = 8 label = “Id1111 …

【SAS】SASで良く使うテクニック。その8 「=」~修正前後のプログラムを比較したい時~【Excel】【VBA】

今回はSASで良く使うテクニックということで、修正前後のプログラムを比較したい時は、「=」が役に立つ理由を解説していきます。(このテクニックはコーディングなら、SASに限らず、VBAでも他のどの言語で …

【SAS】COMPRESSオプションでデータセットを圧縮できる(パフォーマンスも向上するかも)

今回はCOMPRESSオプションでデータセットを圧縮する方法について解説していきたいと思います。 まずは、通常のデータセットから。 /* 非圧縮 */ data data1; id1=”1111”; …

【SAS】「引用符で囲まれた文字列の後の識別子の意味は、将来のSASリリースで変わる可能性があります。」の対処法【NOTE】

今回は、 「引用符で囲まれた文字列の後の識別子の意味は、将来のSASリリースで変わる可能性があります。」 とログメッセージが出た時の対処法について解説します。 /* メッセージ_1 */ data d …

【SAS】SETステートメントに複数データセットを設定すると縦結合できる

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