自定义输出表以包含缺少的变量

时间:2013-12-04 15:30:27

标签: excel sas

我有一个excel文件,其中包含表格shell(包括公式)和SAS输出的原始数据(例如,Sheet 1 = Table Shell; Sheet 2 = Table 1 Data)。

我正在尝试更新表数据,而不必重新执行表shell和相应的公式。但是,对于时间序列,我有6个参与者组,但有一个没有报告此周期的数据。问题是缺少的组夹在中间,我无法将SAS输出粘贴到Excel工作表。我想在结果中输出缺少的组,但作为空白计数和百分比。

现在我正在做相当标准proc freq table var*Group/ norow nocol以获得计数和总百分比。

    Group 1 | Group 2 | ... | Missing Group | Group 5 | Group 6
N    500         303                           475        630
%    

提前感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

不幸的是,我不认为PROC FREQ可以完全缺少一个列。 PROC TABULATE可以和大多数具有CLASS变量的过程一样,使用preloadfmt语句上的classprintmiss来告诉它创建所有逻辑分组(这可能是危险的) ,所以在复杂的表格中谨慎使用它。)

proc format;
value $genderf
'M'='Male'
'F'='Female'
'T'='Trans'
;
quit;
proc tabulate data=sashelp.class;
class sex/preloadfmt;
var height;
format sex $genderf.;
tables sex,height*mean/printmiss;
run;

PROC FREQ中使其工作的唯一真正方法是对数据进行后处理(如果您要查找数据集而不是打印输出),或者为您缺少的时间段添加虚拟行,这当然会改变你的结果。