davil2000 发表于 2012-5-29 15:40 
Easy! For evey data set ***, you can choose to keep only one obs, and save it as ***f. In such a w ...
我还是上实例吧,这样比较方便:我有两个数据集,需要分别得到他们的format列表(真实情况是有很多个数据集,所以不能运行完一个之后关闭在运行另外一个);两个数据集分别为:
proc format;
value f1_fmt 1 = '研究药物' 2 = '对照药物';
value f2_fmt 1 = '男' 2 = '女';
run;
data a1;
format group f1_fmt. sex f2_fmt.;
label group = '组别' age = '年龄' sex = '性别';
do subid = 1 to 2;
group = mod(subid, 2) + 1;
age = 18 + int(ranuni(0) * 42);
sex = ceil(ranuni(0) * 2);
output;
end;
run;
proc format;
value f1_fmt 1 = '北京' 2 = '天津';
value f2_fmt 1 = '小学生' 2 = '中学生' 3='高中生' 4='大学生';
value f3_fmt 1 = '自费' 2 = '保险' 3='社保';
run;
data a2;
format group f1_fmt. edu f2_fmt. pay f3_fmt.;
label group = '城市' age = '年龄' edu = '学历' pay='付费方式';
do subid = 1 to 4;
group = mod(subid, 2) + 1;
age = 18 + int(ranuni(0) * 42);
edu = ceil(ranuni(0) * 4);
pay=ceil(ranuni(0) * 3);
output;
end;
run;
我需要分别得到他们的format列表,我使用的方法是:
proc format cntlout=a1f;
run;
需要得到的format列表分别为
a1f
a2f
现在因为运行完前面的a1之后,a1的format还存在,如果在a2生成之后运行
proc format cntlout=a2f;
run;
那么a2f里面也会包含或者错误显示a1的format内容,所以想问一下能否在a1的a1f生成之后,将work里面的formats文件夹删除,使其不再影响a2f的内容