Я работаю с набором данных журналов вызовов, и мне нужно суммировать, сколько подписчиков было успешно подключено. Каждая строка представляет собой один вызов, и если хотя бы один вызов для подписчика был успешным, мне нужно установить переменную, которая выводит «успешный контакт» в каждой строке, принадлежащей этому подписчику, даже если в этой строке не указан успешный контакт. . Я хотел бы сделать действительно приятную вещь, и идеальный результат для этой проблемы - вывести количество успешных контактов, которые имел подписчик, в наборе данных в каждой строке, принадлежащей подписчику, независимо от успеха или неудачи этой попытки.
По сути, создание такого вывода (success_contact - это созданная переменная) примерно решило бы мою проблему:
ID подписчика | Имя | Связаться с Outcome (позвонить) | Success_Contact
123456 | Боб | Неудачный | Успешно 123456 | Боб | Успешно | Успешно 123456 | Боб | Успешно | Успешно
Но было бы супер, если бы я мог сделать это:
ID подписчика | Имя | Связаться с Outcome (позвонить) | Success_Contact
123456 | Боб | Неудачный | 2 123456 | Боб | Успешно | 2 123456 | Боб | Успешно | 2 985666 | Билл | Неудачный | 0 985666 | Билл | Неудачный | 0
Я пробовал это с PRO C SQL:
proc sql;
create table contact_success as
select count('Contact Outcome:'n) as no_success_outreach, 'Subscriber ID'n from work.min
where 'Contact Outcome:'n = 'Successful'
group by 'Subscriber ID';
;
quit;
Но это просто дало мне количество успешных контактов во всем наборе данных в каждой строке.
Как мне достичь идеального результата?