こんにちは、DXCEL WAVEの運営者(@dxcelwave)です!
こんな方におすすめ!
- SASプログラミングについて詳しく知りたい!
- SAS変数のデータ型やフォーマットを変換する方法が知りたい!
目次
【SAS】INPUT・PUT関数とは
SASデータセットにおける変数のデータ型・フォーマットを変換する場合、INPUT関数
およびPUT関数
を利用します。本記事ではこれら関数の利用方法について詳しく言及します。
INPUT関数
INPUT
関数は「文字列」を数値や日付などのデータ型に変換するために使用されます。
INPUT
関数はINPUT(変数名, 変換後のフォーマット)
を指定することで利用できます。
コード
DATA _null_;
/* 変換処理 */
char_value = '1234.56';
num_value = INPUT(char_value, comma12.2);
/* データ型確認 */
char_value_type = VTYPE(char_value);
num_value_type = VTYPE(num_value);
/* ログ出力 */
putlog "char_value_typeのデータ型: " char_value_type;
putlog "num_value_typeのデータ型:" num_value_type;
RUN;
出力イメージ
# char_value_typeのデータ型: C
# num_value_typeのデータ型: N
PUT関数
PUT
関数は、「数値」や「日付」などのデータを特定の書式に変換するために使用されます。
PUT
関数はPUT(変数名, 変換後のフォーマット)
のように記述することで利用できます。
コード
DATA _null_;
/* 変換処理 */
num_value = 1234.56;
formatted_value = PUT(num_value, dollar12.2);
/* データ型確認 */
num_value_type = VTYPE(num_value);
formatted_value_type = VTYPE(formatted_value);
/* ログ出力 */
putlog "num_value:" num_value;
putlog "formatted_value:" formatted_value;
RUN;
出力イメージ
# num_value: 1234.56
# formatted_value: $1,234.56
【参考】VTYPE関数
変数のデータ型を確認したい場合、VTYPE
関数が便利です。
char_val = "abcd";
VTYPE(char_val);
確認対象の変数が数値型の場合はN
と出力され、文字列型の場合はC
と出力されます。
【参考】SASプログラミング記事一覧
当サイトではSASを用いたプログラミング解説記事を多数掲載しております。
SASはデータ処理・分析をはじめ、高度な統計解析や機械学習・AIによる予測モデリングなど様々な用途に利用できます。また金融や医療を代表とする様々な業界の分析業務で広く活用されています。
最後に
お問い合わせフォーム
上記課題に向けてご気軽にご相談下さい。
お問い合わせはこちら