2013-08-04 4 views
-1

используя функцию недели, чтобы очистить некоторые данные и в конечном итоге будет заказывать недели. Я использовал неделю() в день 26.08.2011, и мне было 34, и когда функция вставила дату 01/13/2012, она выплюнула 2. Я получаю число недель с 1 января 1960 года?Функция недели дает странный результат

ответ

1

Согласно WEEK Function documentation, дескриптор по умолчанию U указывает номер недели в год, с воскресенья будучи считается 1-й день недели. (Вы можете использовать V, если вы хотите, чтобы понедельник считается 1-й день вместо этого.)

+0

Я не думаю, что это отвечает на его, по общему признанию, смутно сформулированный вопрос - он не спрашивает о начале старта, он спрашивает о нескольких неделях - с момента X-времени. – Joe

1

week функция вычисляет неделя текущего года. Ответ на подразумеваемый вопрос: «Как я вычислил количество дней с 1/1960 [или какую-то произвольную дату]», это функция intck.

data have; 
input datevar date9.; 
datalines; 
01JAN1960 
02JAN2013 
13JAN2012 
26AUG2011 
;;;; 
run; 
data want; 
set have; 
wks = intck('week',0,datevar); *# of weeks from 0 to datevar [0=1/1/1960]. 
           *Can replace 0 with any other date variable.; 
run; 
Смежные вопросы