SAS - 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 имеет смысл отображать 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;

1 ответ

Это работает, вам просто нужно продублировать FMTHS в новую переменную перед отчетом PROC, в этом примере FMTHS2 = FMTHS ; Вы можете достичь того же результата, используя псевдоним в выражении вашего столбца.

данные отчета процесса =mydata;
  колонка ACCT
         SEQ
         FMTHS
         FMTHS2
         WCP;
  определить ACCT   / группу;
  определить SEQ    / группу;
  определить ВКП / среднее значение для анализа;
  определить FMTHS / порядок заказа = группа данных noprint;
  определить FMTHS2 / сумму анализа;

  перерыв после SEQ    / подведение итогов;
бежать;
Другие вопросы по тегам