こんにちは、DXCEL WAVEの運営者(@dxcelwave)です!
こんな方におすすめ!
- SAS変数のデータ型・フォーマットを変換する方法が知りたい!
- データ型を変換した変数をマクロ変数として定義したい!
目次
【参考】SAS変数のデータ型・フォーマット変換方法
SAS変数のデータ型・フォーマットの変換にはINPUT
およびPUT
関数を用います。
INPUT
およびPUT
関数の使い方はこちらの記事で詳しく言及しています。
【参考】SAS変数をマクロ変数として定義する方法
SAS変数をマクロ変数として定義する場合、symputx関数
を利用します。
symputx('マクロ変数名', SAS変数名)
マクロ変数について詳しく知りたい方はこちらの記事をご覧ください。
マクロの定義(%MACRO)とSASプログラミング実行方法
SAS環境にマクロ(MACRO)を定義し、実行するためのプログラミング手法について詳しく解説します。
【SAS実践】データ型変換後の変数をマクロ変数として展開する方法
INPUT
関数やPUT
関数で変換した変数をマクロ変数として定義し、変数を再利用したい場合があるかもしれません。本記事ではそのような方法について解説します。
【例】文字列型→数値型変換した変数をマクロ変数として定義
INPUT
関数を用いて文字列→数値型に変換した変数をマクロ変数として取り出す例を以下に示します。
DATA _null_;
/* 文字列型の変数 */
date_str = "22Jan2024:00:00:00";
/* 文字列->数値型変換 */
date_int = INPUT(date_str, datetime.);
format date_int datetime.;
/* マクロ変数として定義 */
CALL symputx('Macro_date_int', date_int);
RUN;
/* マクロ変数確認 */
%put &Macro_date_int;
【例】日付型→文字列型変換した変数をマクロ変数として定義
PUT
関数を用いて日付列→文字列型に変換した変数をマクロ変数として取り出す例を以下に示します。
DATA _null_;
/* 日付型の変数 */
date_date = "22Jan2024:00:00:00"d;
/* 日付型の変数 */
date_str = PUT(date_date, yymmdd10.);
/* マクロ変数として定義 */
CALL symputx('Macro_date_str', date_str);
RUN;
/* マクロ変数ログ出力 */
%put &Macro_date_str;
【参考】SASプログラミング記事一覧
当サイトではSASを用いたプログラミング解説記事を多数掲載しております。
SASはデータ処理・分析をはじめ、高度な統計解析や機械学習・AIによる予測モデリングなど様々な用途に利用できます。また金融や医療を代表とする様々な業界の分析業務で広く活用されています。
最後に
お問い合わせフォーム
上記課題に向けてご気軽にご相談下さい。
お問い合わせはこちら