У меня есть набор данных журналов вызовов, сделанных для группы абонентов, вызываемых несколько раз, с каждой попыткой вызова в новой строке. Мне нужно проанализировать некоторые данные на основе того, когда был установлен первый контакт с подписчиком, но у меня возникают проблемы с установлением минимальной даты контакта. Я пробовал несколько вещей, но единственный успешный результат, который я создал, просто выводит дату создания (которая является переменной, которая мне нужна для получения минимума для каждого набора вызовов подписчика), которая уже была связана с линией, а не самой маленькой создать дату в наборе данных для этого подписчика.
Мой идеальный результат будет выглядеть следующим образом (где min_date / min_month - переменные, которые я пытаюсь создать):
ID подписчика | Дата создания | Мин_дата | Мин_месяц
123456 | 01Jan2020 | 01Jan2020 | Янв2020 123456 | 05Mar2020 | 01Jan2020 | Янв2020
У меня также были проблемы с форматом вывода. Когда я получил вывод, я получаю даты, отформатированные в виде какого-то последовательного кода numeri c? Например, я получу что-то вроде «22095» вместо какой-либо фактической даты.
Код, который я использую для получения минимальной даты:
create table min_dates as
select
sub_id,
min2.min_date2
from (select 'Subscriber ID'n as sub_id, min('Create Date'n) as min_date2 from work.min) as min2
inner join work.min as min1 on min1.'Subscriber ID'n = min2.sub_id;
quit;
Я думаю, это может работать, но я не могу точно сказать из-за проблем с форматированием. Когда я снова присоединяюсь к этой подтаблице к основному извлечению данных в конце моего кода, все значения также отсутствуют. Мне нужны еще две вещи из этого кода, если он правильный:
- Та же минимальная дата, разбитая на новый столбец с указанием только месяца и года
- min_date правильно отформатирован в читаемая дата (мне не нужен какой-либо конкретный формат даты, если это на самом деле дата)
Но если это неверно и просто дает мне дату в той же строке, Мне тоже нужно это исправить.
Любая помощь приветствуется.