SAS-Proc报告-Don';是否在小计行中汇总列?

SAS-Proc报告-Don';是否在小计行中汇总列?,sas,summarization,proc-report,Sas,Summarization,Proc Report,我正在尝试使用proc报告来完成以下任务,但我不知道如何做到这一点 我让proc report基本上创建了一个电子表格,看起来像这样,按ACCT和SEQ分组: ACCT SEQ FMTHS WCP 1234 1 5 1,000 8 1,000 4 1,000 -------------------------------- 1234 1

我正在尝试使用proc报告来完成以下任务,但我不知道如何做到这一点

我让proc report基本上创建了一个电子表格,看起来像这样,按ACCT和SEQ分组:

ACCT    SEQ     FMTHS     WCP
1234     1        5       1,000
                  8       1,000
                  4       1,000
--------------------------------
1234     1       17  
但是,客户端希望WCP列的值显示在小计行中,而不是汇总。虽然WCP显示3000以上是有意义的,但他们希望看到1000。所以基本上我需要这样结束:

ACCT    SEQ     FMTHS     WCP
1234     1        5       1,000
                  8       1,000
                  4       1,000
--------------------------------
1234     1       17       1,000
以下是我目前的代码:

proc report data = test missing nowindows;
        columns acct
                seq
                fmths
                wcp
                ;

    define acct /   group
                style(header)={font=('calibri',10pt,bold) just=c}
                style(column)={font=('calibri',10pt) just=c cellwidth=1.0in}; 
    define seq /    group 
                style(header)={font=('calibri',10pt,bold) just=c}
                style(column)={font=('calibri',10pt) just=c cellwidth=1.0in}; 
    define fmths /  analysis
                style(header)={font=('calibri',10pt,bold) just=c}
                style(column)={font=('calibri',10pt) just=c cellwidth=1.0in}; 
    define wcp /    display  format=dollar12.
                style(header)={font=('calibri',10pt,bold) just=c}
                style(column)={font=('calibri',10pt) just=c cellwidth=1.0in}; 
    title; 

  break after seq/ summarize ;
  compute after seq;
  line @1 ' ';
  endcomp;

run;
更新:这种方法解决了问题

proc report data = test missing nowindows;
        columns acct
                seq
                fmths
                wcp
                ;

    define acct /   group
                style(header)={font=('calibri',10pt,bold) just=c}
                style(column)={font=('calibri',10pt) just=c cellwidth=1.0in}; 
    define seq /    group 
                style(header)={font=('calibri',10pt,bold) just=c}
                style(column)={font=('calibri',10pt) just=c cellwidth=1.0in}; 
    define fmths /  analysis
                style(header)={font=('calibri',10pt,bold) just=c}
                style(column)={font=('calibri',10pt) just=c cellwidth=1.0in}; 
    define wcp /    group  format=dollar12.
                style(header)={font=('calibri',10pt,bold) just=c}
                style(column)={font=('calibri',10pt) just=c cellwidth=1.0in}; 
    title; 

  break after wcp/ summarize ;
  compute after wcp;
  line @1 ' ';
  endcomp;

run;

这是可行的,您只需在PROC报告之前将FMTHS复制到一个新变量中,在本例中
FMTHS2=FMTHS在column语句中使用别名可以获得相同的结果

proc report data=mydata ; column ACCT SEQ FMTHS FMTHS2 WCP ; define ACCT / group ; define SEQ / group ; define WCP / analysis mean ; define FMTHS / order order=data group noprint ; define FMTHS2 / analysis sum ; break after SEQ / summarize ; run ; proc report data=mydata; 列帐户 序号 FMTHS FMTHS2 WCP ; 定义科目/组; 定义序列/组; 定义WCP/分析平均值; 定义FMTHS/订单=数据组noprint; 定义FMTHS2/分析总和; 顺序/总结后中断; 跑
我不确定在
PROC REPORT
中,如果不进行激烈的讨论,这是不可能的。如果是这样的话,我当然很想看看。嗯,我差不多完成了这个。这可能不是最好的解决方案,但它现在必须起作用……请参见我上面的更改。您可以在
proc report
中复制变量:
column ACCT SEQ FMTHS FMTHS=FMTHS2 WCP