*(Вопрос) Мне требуется определить время госпитализации по месяцам, если даны * даты поступления и выписки. Примерно так: * Номер Поступил Выписан янв февр март и т.д. * 1 1/5/01 2/5/01 25 5 0 * 2 2/7/01 3/7/01 0 21 7 * 3 4/3/01 5/25/01 ? ? ? *(Ответ) Размещён в SPSSX-L 20.11.2001, автор: rlevesque@videotron.ca. * Примеч.: данные синтаксис не вполне универсальный. * Предполагается, что все даты находятся в пределах одного календарного года. DATA LIST LIST /id(F8) datein(ADATE) dateout(ADATE). BEGIN DATA 1 1/5/01 2/5/01 2 2/7/01 3/7/01 3 4/3/01 5/25/01 4 2/1/01 4/4/01 5 1/31/01 4/1/01 6 7/1/01 9/29/01 7 9/10/01 12/30/01 END DATA. LIST. VECTOR month(12F8). COMPUTE #oneday=24*60*60. LOOP mth=1 TO 12. COMPUTE beg1=MAX(datein , DATE.DMY(1,mth,XDATE.YEAR(datein))). COMPUTE end1=MIN(dateout + #oneday, DATE.DMY(1,mth+1,XDATE.YEAR(datein))). COMPUTE month(mth)=max(0, CTIME.DAYS(end1 - beg1)). END LOOP. EXECUTE.