SASデータセットとして作成してあるコード表から、ユーザ定義フォーマットを作れますか。
FORMATプロシジャは制御データセットと呼ばれる形式のSASデータセットから、
直接、ユーザ定義フォーマットを作成できます。
制御データセットとは、フォーマットを作成するための情報を持つSASデータセットのことです。
制御データセットには少なくとも次の変数が必要です。
例えばSASデータセットSAMPLEに年齢と学年の対応を記録してあるとします。
[SASデータセット:SAMPLE]
OBS AGE GRADE
1 6 小学1年生
2 7 小学2年生
3 8 小学3年生
4 9 小学4年生
5 10 小学5年生
6 11 小学6年生
7 12 中学1年生
. . .
次のようなDATAステップでSAMPLEを加工して制御データセットを作成し、これを FORMATプロシジャのCNTLIN=オプションで指定します。
data formdat;
set sample(rename=(age=start grade=label));
fmtname='agefmt';
type='n';
run;
proc format cntlin=formdat;
run;
proc print data=sashelp.class;
format age agefmt.;
run;
上記のPRINTプロシジャの実行結果は、次のようになります。
OBS NAME SEX AGE HEIGHT WEIGHT 1 Alice F 中学2年生 56.5 84.0 2 Becka F 中学2年生 65.3 98.0 3 Gail F 中学3年生 64.3 90.0 4 Karen F 中学1年生 56.3 77.0 5 Kathy F 中学1年生 59.8 84.5 6 Mary F 高校1年生 66.5 112.0 7 Sandy F 小学6年生 51.3 50.5 8 Sharon F 高校1年生 62.5 112.5 9 Tammy F 中学3年生 62.8 102.5 10 Alfred M 中学3年生 69.0 112.5 11 Duke M 中学3年生 63.5 102.5 12 Guido M 高校1年生 67.0 133.0 13 James M 中学1年生 57.3 83.0 14 Jeffrey M 中学2年生 62.5 84.0 15 John M 中学1年生 59.0 99.5 16 Philip M 高校2年生 72.0 150.0 17 Robert M 中学1年生 64.8 128.0 18 Thomas M 小学6年生 57.5 85.0 19 William M 高校1年生 66.5 112.0
参照
Base SAS® 9.4 Procedures Guide
Example 12: Creating a Format from a CNTLIN= Data Set
http://go.documentation.sas.com/?docsetId=proc&docsetTarget=n1e19y6lrektafn1kj6nbvhus59w.htm&docsetV...
SAS Innovate 2025 is scheduled for May 6-9 in Orlando, FL. Sign up to be first to learn about the agenda and registration!
コミュニティの基本的なガイドラインについてご説明します。まずは、こちらをご参照ください。
SAS Support CommunitiesのFAQはヘルプに記載されています。参照方法は、こちらからご確認ください。
Japan SAS Discussionページに質問や意見(メッセージ)を投稿/返信する方法を簡単にご説明します。