1

我正在尝试使用 proc report 完成以下操作,但我不知道该怎么做。

我有 proc 报告,基本上创建了一个如下所示的电子表格,按 ACCT 和 SEQ 分组:

ACCT    SEQ     FMTHS     WCP
1234     1        5       1,000
                  8       1,000
                  4       1,000
--------------------------------
1234     1       17  

但是,客户希望 WCP 列的值显示在小计行中,而不是汇总。虽然 WCP 显示 3,000 以上是有意义的,但他们希望看到 1,000。所以基本上我需要结束这个:

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;
4

1 回答 1

1

这很有效,您只需在 PROC REPORT 之前将 FMTHS 复制到一个新变量中,在此示例中,FMTHS2 = FMTHS ;您可以在列语句中使用别名来实现相同的结果。

proc报告数据=我的数据;
  列 ACCT
         序列
         FMTHS
         FMTHS2
         世界气候计划
         ;
  定义 ACCT / 组;
  定义序列/组;
  定义 WCP / 分析平均值;
  定义 FMTHS / order order=data group noprint ;
  定义 FMTHS2 / 分析总和;

  在 SEQ/summary 之后中断;
跑 ;
于 2014-03-24T08:35:20.860 回答