我有几个城市的两个索引,我想输出摘要。
这是我的代码
proc tabulate data=HAVE missing;
class Date City/order=data preloadfmt;
format City $Areaformat.;
var Index1 Index2;
table (Date=''),
(Index1={Label="AAA" s=[cellwidth=2in just=c]}*(sum='') Index2={Label="BBB" s=[cellwidth=2in
just=c]}*(sum='')) * (City='' all=Total);
run;
这是示例输出。
Index1 Index2
City1 City2 City3 Total City1 City2 City3 Total
01Nov2014 1 2 1 4 1 1 1 3
02Nov2014 2 2 1 5 2 1 2 5
但我需要像
这样的东西 Index1 Index2 Index Total
City1 City2 City3 Total City1 City2 City3 Total Grand Total
01Nov2014 1 2 1 4 1 1 1 3 7
02Nov2014 2 2 1 5 2 1 2 5 10
另外,我有proc tabulate
的另一个输出,它显示了每天的理想指数。
proc tabulate data=Ideal missing;
class Date;
var Index1 Index2;
table (Date=''),
(Index1={Label="Ideal Index1"}*(sum='Total') Win={Index2="Ideal Index2"}*(sum='Total'));
run;
这是另一个输出。
Ideal1 Ideal2
Total Total
01Nov2014 4 3
02Nov2014 5 5
有没有办法将理想索引表附加到上面所需输出的右侧(更容易进行比较而不是将它们分成两个输出表)?最后是这样的
Index1 Index2 Index Total Ideal1 Ideal2 Ideal Total Diff
City1 City2 City3 Total City1 City2 City3 Total Grand Total Total Total Total
01Nov2014 1 2 1 4 1 1 1 3 7 4 3 7 0
02Nov2014 2 2 1 5 2 1 2 5 10 5 5 10 0
答案 0 :(得分:1)
使用dtdate9将日期时间格式化为date9。您可能需要多个类语句,因为它不会成为预加载格式。最后为Grand Total添加另一个。
proc tabulate data=HAVE missing;
class City/order=data preloadfmt;
class Date/order=data;
format City $Areaformat.;
format date dtdate9.;
var Index1 Index2;
table (Date=''),
(Index1={Label="AAA" s=[cellwidth=2in just=c]}*(sum='') Index2={Label="BBB" s=[cellwidth=2in
just=c]}*(sum='')) * (City='' all=Total) all='Grand Total';
run;