сводка процесса со статистическим умножением

Можно ли создать новую статистику со сводкой proc, которая умножает каждое значение в каждом столбце, например, а не просто среднее значение? SAS настолько жесткий, что я схожу с ума.

data test;                                                
    input b c ;                                 
    datalines;                                                
    50 11                                       
    35 12                                        
    75 13                                       
    ;  

Желаемый вывод: 50*35*75, 11*12*13 и _FREQ (как обычный вывод в сводке процесса)


person Helen    schedule 01.12.2016    source источник
comment
Зачем нужно использовать средства PROC? Является ли шаг данных предшествующим или полностью приемлемым?   -  person Reeza    schedule 01.12.2016
comment
Да, допустим шаг данных вместо краткого описания процесса. Я просто подумал, что нужно иметь возможность выбирать собственную статистику   -  person Helen    schedule 01.12.2016
comment
Нет, proc означает определенный набор статистических данных, в документе есть список .htm" rel="nofollow noreferrer">support.sas.com/documentation/cdl/en/proc/69850/HTML/default/   -  person Reeza    schedule 01.12.2016
comment
Если вам нужна функциональность матричного типа, посмотрите PROC IML.   -  person Reeza    schedule 01.12.2016
comment
Спасибо за это, я посмотрю на функциональность матрицы, хотя ваш ответ решает проблему   -  person Helen    schedule 01.12.2016


Ответы (1)


Это необычный агрегат, поэтому вам, по сути, нужно свернуть его самостоятельно. Поскольку шаг данных зацикливается, это легко достигается с помощью RETAIN для сохранения значения от строки к строке и вывода результата в последней записи.

 Data want;
   Set have end=eof;
   Retain prod_b prod_c;
   prod_b = prod_b * b;
   prod_c = prod_c * c;
   Freq= _n_;
 If eof then OUTPUT; 
  Keep prod: freq;
 Run;
person Reeza    schedule 01.12.2016