Focal Point
[CLOSED] summarize time field

This topic can be found at:
https://forums.informationbuilders.com/eve/forums/a/tpc/f/7971057331/m/483104425

September 09, 2010, 12:26 AM
JOE
[CLOSED] summarize time field
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.

Thanks

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 HTML  

This message has been edited. Last edited by: Kerry,


WebFocus 7.7.02 WinXP
September 09, 2010, 05:10 AM
GamP
quote:
TOTALTIME

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.


GamP

- Using AS 8.2.01 on Windows 10 - IE11.
in Focus since 1988
September 09, 2010, 01:20 PM
JOE
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
September 09, 2010, 02:25 PM
T.Peters
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.


WebFOCUS: 7702
O/S : Windows
Data Migrator: 7702
September 09, 2010, 04:16 PM
Darin Lee
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.


Regards,

Darin



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
September 10, 2010, 02:33 AM
Dan Satchell
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
END

This message has been edited. Last edited by: Dan Satchell,


WebFOCUS 7.7.05
September 17, 2010, 09:48 PM
Doug
Good One