Not sure how to do this..looking to summarize a computed time field. Found example on this forum however, the time field does not summarize. Any help would be appreciated.
TABLE FILE AHTDIV PRINT calls/I11C AS 'Calls Answered,' COMPUTE AVGTalk/I3 = IF calls EQ 0 THEN 0 ELSE acdtime / calls; COMPUTE AVGACW/I3 = IF calls EQ 0 THEN 0 ELSE acwtime / calls; COMPUTE AVGHold/I3 = IF calls EQ 0 THEN 0 ELSE holdacdtime / calls; COMPUTE AHT/I3 = IF calls EQ 0 THEN 0 ELSE ( acdtime + acwtime + holdacdtime ) / calls; COMPUTE AUX/D6.2 = IF stafftime EQ 0 THEN 0 ELSE ( aux0 + aux1 + aux2 + aux3 + aux4 + aux5 + aux6 + aux7 + aux8 ) / stafftime; COMPUTE HOURS/I3 = INT(stafftime / 3600); NOPRINT COMPUTE MINUTES/I2 = INT(stafftime / 60) - ( HOURS * 60 ); NOPRINT COMPUTE REM_SECONDS/I2L = stafftime - ( HOURS * 3600 ) - ( MINUTES * 60 ); NOPRINT COMPUTE TOTALTIME/A20 = EDIT(HOURS)|':'|EDIT(MINUTES)|':'|EDIT(REM_SECONDS); BY EmpDivisionName AS 'Division' HEADING "PNC Call Center AHT Report" "Between <+0>&dte<+0> and <+0>&edte" " " FOOTING "" ON TABLE SET PAGE-NUM OFF ON TABLE SUMMARIZE AHTDIV.SEG01.calls AVGTalk AVGACW AVGHold AHT AUX HOURS MINUTES REM_SECONDS AS 'TOTAL' ON TABLE PCHOLD FORMAT HTMLThis message has been edited. Last edited by: Kerry,
WebFocus 7.7.02 WinXP
That's the field you want to summarize, correct?
If so, then this is indeed not done this way. I think it does show you the correct values at the division level. But it will not add all divisions, since it is an alpha field.
To get this done on an overall basis, you would have to do the same calculations to get to the TOTALTIME but then for the entire report and not just for the division level.
yes..TOTALTIME is the field I was looking to have a total time. Do you build this out in the define and how do you call it? Thanks!
WebFocus 7.7.02 WinXP
Computes happen at the end of the stack, so I would say make your HOURS, MINUTES, and SECONDS fields Define fields, not COMPUTE and then COMPUTE each of them separately. Then, concat them together at the very end.
O/S : Windows
Data Migrator: 7702
Adding on to what T.Peters suggests, I would just add up stafftime (which appears to be in seconds) and then do some COMPUTEs (which happen on the SUMMED value to create the HH:MM:SS output.
In FOCUS since 1991
WF Server: 7.7.04 on Linux and Z/OS, ReportCaster, Self-Service, MRE, Java, Flex
Data: DB2/UDB, Adabas, SQL Server Output: HTML,PDF,EXL2K/07, PS, AHTML, Flex
WF Client: 77 on Linux w/Tomcat
Here is an example, using the CAR file, of the approach suggested by earlier posts. The formatted time display is recalculated at the end of the request using the total sum of the staff time column.
DEFINE FILE CAR STAFF_TIME/I6 = SALES ; END TABLE FILE CAR PRINT COMPUTE HOURSX/I2 = INT(STAFF_TIME / 3600); NOPRINT COMPUTE MINUTESX/I2 = INT(STAFF_TIME / 60) - ( HOURSX * 60 ); NOPRINT COMPUTE SECONDSX/I2 = STAFF_TIME - ( HOURSX * 3600 ) - ( MINUTESX * 60 ); NOPRINT COMPUTE ST_TIME/A8 = EDIT(HOURSX,'99')|':'| EDIT(MINUTESX,'99')|':'| EDIT(SECONDSX,'99'); AS 'Staff Call Time' WHERE SALES NE 0 ; ON TABLE RECAP TOT_HOURS/I2 = INT(SUM.STAFF_TIME / 3600); TOT_MINUTES/I2 = INT(SUM.STAFF_TIME / 60) - ( TOT_HOURS * 60 ); TOT_SECONDS/I2 = SUM.STAFF_TIME - ( TOT_HOURS * 3600 ) - ( TOT_MINUTES * 60 ); TOT_TIME/A8 = EDIT(TOT_HOURS)|':'| EDIT(TOT_MINUTES)|':'| EDIT(TOT_SECONDS); ON TABLE SUBFOOT "Total <TOT_TIME" ON TABLE SET STYLE * TYPE=DATA, COLUMN=ST_TIME, JUSTIFY=RIGHT, $ TYPE=SUBFOOT, HEADALIGN=BODY, JUSTIFY=RIGHT, $ ENDSTYLE ENDThis message has been edited. Last edited by: Dan Satchell,
|Powered by Social Strata|