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 / подведение итогов; бежать;