分析spss中的outlook日历数据

时间:2014-10-21 16:36:06

标签: spss

我从outlook下载了会议室使用情况。 我想知道

  • 会议室有多忙?
  • 热点是什么时候?
  • 谁是超级用户?
  • 谁不是超级用户?
  • 举行多少次经常性会议。

我遇到的这个问题是我需要在" StartTime"之间的持续时间。和#34; EndTime&#34 ;;但它们目前是字符串!

开始结束开始时间结束时间 1/1/2014 1/1/2014 5:00:00 PM 5:00:00 PM

此外,可以安全地假设StartTimes和EndTimes没有跨越两天,但也许我想检查一下。 也许转换成24小时制可能有所帮助; "持续时间"那么" EndTime" - " StartTime"。如何为不熟悉的人转换回12小时的时钟。最后,我需要一周中的某一天(星期一,星期二等),事件就会发生。

1 个答案:

答案 0 :(得分:0)

这主要可以通过向导完成。

应该做的一些sudo代码将是

COMPUTE Start=number(StartDate, ADATE10).
VARIABLE LEVEL  Start (SCALE).
FORMATS Start (ADATE10).
VARIABLE WIDTH  Start(10).
EXECUTE.

COMPUTE starttimetest=number(StartTime, TIME8).
VARIABLE LEVEL  starttimetest (SCALE).
FORMATS starttimetest (TIME8).
VARIABLE WIDTH  starttimetest(8).
EXECUTE.
compute teststartadd=start+starttimetest.

DO if index(starttime,'PM') gt 0 and subs(starttime,1,2) ne '12' .
COMPUTE Realstart=datesum(teststartadd,12,'hours').
ELSE.
COMPUTE REALstart=TESTstartADD.
END IF.

COMPUTE End=number(EndDate, ADATE10).
VARIABLE LEVEL  End (SCALE).
FORMATS End (ADATE10).
VARIABLE WIDTH  End(10).
EXECUTE.

COMPUTE endtimetest=number(endTime, TIME8).
VARIABLE LEVEL  endtimetest (SCALE).
FORMATS endtimetest (TIME8).
VARIABLE WIDTH  endtimetest(8).
EXECUTE.
compute testendadd=end+endtimetest.
DO if index(endtime,'PM') gt 0 and subs(endtime,1,2) ne '12' .
COMPUTE RealEnd=datesum(testendadd,12,'hours').
ELSE.
COMPUTE REALEND=TESTENDADD.
END IF.
exe.
delete vars Start
starttimetest
teststartadd
End
endtimetest
testendadd.
exe.

formats RealEnd RealStart(datetime23).
compute Length=datedif(realend,realstart,'hours').
if length > 12 check=1.
freq check.
compute StartWkDay=XDATE.WKDAY(realstart).
compute EndWkDay=XDATE.WKDAY(realEnd).
string StartDayText EndDayText(a8).

你必须使用类似的东西进行转换      *如果XDATE.WKDAY(realstart)= 1 startdaytext =“Sunday”。