【发布时间】:2018-09-16 05:26:48
【问题描述】:
我正在尝试学习 SAS,特别是 PROC REPORT。我正在使用 SASHELP.CARS 数据集。
我想在输出的第 6 列中实现的目标,标记为“汽车数量 > 平均值(发票)”,以计算发票大于集团发票平均值的汽车数量。我正在使用下面的代码。
PROC REPORT DATA=sashelp.CARS NOWD OUT=learning.MyFirstReport;
COLUMNS Type Origin INVOICE=Max_INVOICE INVOICE=Mean_Invoice
INVOICE=Count_Invoice TEST DriveTrain;
DEFINE Type / Group 'Type of Car' CENTER;
DEFINE Origin / Group 'Origin of Car' CENTER;
DEFINE Max_Invoice / ANALYSIS MAX 'Max of Invoice';
DEFINE Mean_Invoice / ANALYSIS MEAN 'Mean of Invoice';
DEFINE Count_Invoice / ANALYSIS N FORMAT=5.0 'Total Number of Cars' center;
DEFINE DriveTrain / ACROSS 'Type of DriveTrain of Car';
DEFINE TEST / COMPUTED 'Number of Cars > Mean(Invoice)' center;
COMPUTE TEST;
TEST=N(_c7_>Mean_Invoice);
ENDCOMP;
RUN;
我得到的输出如下图所示。
我认为这不是正确的输出,因为列中的所有行都显示值 1。如何在输出的第 6 列中获得所需的输出?
【问题讨论】: