Я новичок в SAS, и мне трудно найти разницу между двумя датами. У меня есть 2 столбца: checkin_date и checkout_date даты указаны в mmddyy10. формат (мм/дд/гггг).
Я использовал следующий код:
stay_days= intck('day', checkin_day, checkout_day);
Я получаю правильные значения для дат в том же месяце, но неправильные значения для дней, которые проходят через 2 месяца. Например, разница между 06.02.2014 и 11.02.2014 составляет 5. Но разница между 31.01.2014 и 13.02.2014 составляет -18, что неверно.
Я также просто попытался вычесть их обоих:
stay_day = checkout_day - checkin_day;
Я получаю тот же результат для этого тоже.
Весь мой код:
data hotel;
infile "XXXX\Hotel.dat";
input room_no num_guests checkin_month checkin_day checkin_year checkout_month checkout_day checkout_year internet_used $ days_used room_type $16. room_rate;
checkin_date = mdy(checkin_month,checkin_day,checkin_year);
informat checkin_date mmddyy.;
format checkin_date mmddyy10.;
checkout_date = mdy(checkout_month,checkout_day,checkout_year);
informat checkout_date mmddyy.;
format checkout_date mmddyy10.;
stay_day= intck('day', checkin_day, checkout_day);