если я правильно понимаю, вы хотите, чтобы значение продукта составляло C Тип - это продукт, связанный с наибольшим количеством в типах L. Если это правильно, одним из возможных способов является использование следующего. Сначала продукт с наибольшим количеством для L-типа в каждой группе клиентов и идентификаторов рассчитывается следующим образом: обратите внимание, что исходный набор данных предполагается с именем «пример».
proc sql;
create table L_Type as
select cust, LINK_ID, product, amount
from example
where type = 'L' and amount = max(amount)
group by cust, LINK_ID
;
quit;
, затем продукт, рассчитанный выше в исходном примере кодируется для типа c.
proc sql;
select
e.cust
, e.LINK_ID
, e.type
, case when e.type = 'C' then b.product end as product
, e.amount
from example e left join L_Type b
on e.cust = b.cust and e.LINK_ID = b.LINK_ID
;
quit;