Создать недельную переменную на основе даты и времени - PullRequest
0 голосов
/ 02 мая 2019

Простой вопрос, я думаю.

У меня есть переменная checkin_date_time в базе данных с тысячами уникальных записей.

База данных

   ID             checkin_date_time 
   1             January 01, 2019 11:36:50
   2             January 01, 2019 11:36:55 
   ....
   60000         December 31, 2019 11:36:50
   60001         December 31, 2019 11:36:55 

Я хотел бы создать переменную 'week' на основе переменной checkin_date_time. Так, например, «01 января 2019 11:36:55» будет равно 1-й неделе, а «31 декабря 2019 15:16:57» будет 52-й неделе.

Желаемый выход

   ID             datetime                         Week
   1             January 01, 2019 11:36:50          1
   2             January 01, 2019 11:36:55          1
   ....
   60000         December 31, 2019 11:36:50         52
   60001         December 31, 2019 11:36:55         52 

Я пытался использовать следующий код, но он говорит, что мой

 data testl;
 set ed_tat;
 week=week(checkin_date_time);
 run; 

ПРИМЕЧАНИЕ. Пропущенные значения были созданы в результате выполнения операции с пропущенными значениями.

Каждое место задается: (Количество раз) в (Строка) :( Колонка).

1 Ответ

1 голос
/ 02 мая 2019

Неделя работает с переменной даты, используйте DATEPART (), чтобы сначала получить дату, а затем определить неделю.

week = week(datepart(checkin_date_time));
...