2024年12月1日日曜日

日付が欠測の日付をsas日付に変換する

 例えばjun/2023のように年月だけの日付をmmm/yyyyで表した文字値があるとして、これをsas日付に変換するにはmonyy8.formatが使えます。sas日付にさえできればjun/2023の文字を2023-06等表記を変えた文字値に変換することもできるので意外と使い道が多く助かっています。


data _null_ ;

   a = "24/jun/2023" ; b = put(input(a, date11.), yymmdd10.) ; putlog a= b= ; output ;

   a = "jun/2023"    ; b = put(input(a, monyy8.), yymmd7.)   ; putlog a= b= ; output ;

run ;

a=24/jun/2023 b=2023-06-24

a=jun/2023 b=2023-06


sas日付からyyyy-mm形式の文字値に変換する際は上記の通りyymmd.formatを使います。ややこしいのですがyymmw.formatとyymmxw.formatがそれぞれ別のものとしてあって、今回はyymmxw.formatのxの部分にdを指定してハイフン区切りの出力としています。yymms.とすると/区切りになります。

0 件のコメント:

コメントを投稿