Я хотел бы, чтобы программа SAS находила основную услугу из набора данных на основе линии с самой высокой скоростью, но когда есть связь, сделайте первую строку первичной. См. Набор данных ниже.Первичный ключ с использованием SAS
ID line rate outcome
TTT 1 .95 Primary
TTT 2 .43
RRR 1 .75 Primary
RRR 2 .75
AAA 1 .23
AAA 2 .12
AAA 3 .65 Primary
Я создал две таблицы с теми же данными, а затем использовали следующую
код используется:
proc sql;
create table test as
select a.ID, a.line, a.rate
(case
when ((a.ID = b.ID) and (a.rate ge b.rate)) then "Primary"
else ' '
end) as outcome
from table1 a,table2 b
where a.ID = b.ID;
quit;
Где ваше заявление о вашем случае? Пожалуйста, разместите свой полный код. Вы также не указываете, как вы хотите, чтобы результат выглядел. – Reeza
, и можете ли вы включить свой результат желания? –
Я думаю, что «Основной ключ» - это плохой выбор слова здесь, поскольку это имеет техническое значение в контексте SQL, которое, кажется, не появляется здесь. – Joe