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...
Registration is open! SAS is returning to Vegas for an AI and analytics experience like no other! Whether you're an executive, manager, end user or SAS partner, SAS Innovate is designed for everyone on your team. Register for just $495 by 12/31/2023.
If you are interested in speaking, there is still time to submit a session idea. More details are posted on the website.
コミュニティの基本的なガイドラインについてご説明します。まずは、こちらをご参照ください。
SAS Support CommunitiesのFAQはヘルプに記載されています。参照方法は、こちらからご確認ください。
Japan SAS Discussionページに質問や意見(メッセージ)を投稿/返信する方法を簡単にご説明します。