loveyoursite
Technical User
CRV10 - I have a turnover report with a date range, and I need it to calculate the average number of active employees for each month within that range and calculate the turnover rate for each month as well. For example January 1 through Jun 30. The average number of employees calculation would be the number of active employees on the first day of the month plus the number of active employees on the last day of the month and divide that by 2. The turnover would be the number of terms for the month divided by the average number of active employees for that month. The report is currently grouped by process level (cost center) then by department name. I'm not sure how to go about this and would appreciate any advice. Should I group differently and using running totals? Here is the SQL:
SELECT "EMPLOYEE"."EMPLOYEE", "EMPLOYEE"."LAST_NAME", "EMPLOYEE"."FIRST_NAME", "EMPLOYEE"."MIDDLE_INIT", "EMPLOYEE"."DATE_HIRED", "EMPLOYEE"."TERM_DATE", "EMPLOYEE"."PROCESS_LEVEL", "EMPLOYEE"."DEPARTMENT", "EMPLOYEE"."EMP_STATUS", "EMPLOYEE"."JOB_CODE", "VW_TERMINATES_REASONS"."DESCRIPTION", "VW_TERMINATES_REASONS"."CODE", "VW_TERMINATES_REASONS"."FIELD_NAME", "DEPTCODE"."R_NAME"
FROM ("LAWPROD"."EMPLOYEE" "EMPLOYEE" LEFT OUTER JOIN "LAWPROD"."VW_TERMINATES_REASONS" "VW_TERMINATES_REASONS" ON ("EMPLOYEE"."COMPANY"="VW_TERMINATES_REASONS"."COMPANY") AND ("EMPLOYEE"."EMPLOYEE"="VW_TERMINATES_REASONS"."EMPLOYEE")) INNER JOIN "LAWPROD"."DEPTCODE" "DEPTCODE" ON (("EMPLOYEE"."COMPANY"="DEPTCODE"."COMPANY") AND ("EMPLOYEE"."PROCESS_LEVEL"="DEPTCODE"."PROCESS_LEVEL")) AND ("EMPLOYEE"."DEPARTMENT"="DEPTCODE"."DEPARTMENT")
WHERE "EMPLOYEE"."EMP_STATUS"<'34'
ORDER BY "EMPLOYEE"."PROCESS_LEVEL", "DEPTCODE"."R_NAME"
Thanks so much
SELECT "EMPLOYEE"."EMPLOYEE", "EMPLOYEE"."LAST_NAME", "EMPLOYEE"."FIRST_NAME", "EMPLOYEE"."MIDDLE_INIT", "EMPLOYEE"."DATE_HIRED", "EMPLOYEE"."TERM_DATE", "EMPLOYEE"."PROCESS_LEVEL", "EMPLOYEE"."DEPARTMENT", "EMPLOYEE"."EMP_STATUS", "EMPLOYEE"."JOB_CODE", "VW_TERMINATES_REASONS"."DESCRIPTION", "VW_TERMINATES_REASONS"."CODE", "VW_TERMINATES_REASONS"."FIELD_NAME", "DEPTCODE"."R_NAME"
FROM ("LAWPROD"."EMPLOYEE" "EMPLOYEE" LEFT OUTER JOIN "LAWPROD"."VW_TERMINATES_REASONS" "VW_TERMINATES_REASONS" ON ("EMPLOYEE"."COMPANY"="VW_TERMINATES_REASONS"."COMPANY") AND ("EMPLOYEE"."EMPLOYEE"="VW_TERMINATES_REASONS"."EMPLOYEE")) INNER JOIN "LAWPROD"."DEPTCODE" "DEPTCODE" ON (("EMPLOYEE"."COMPANY"="DEPTCODE"."COMPANY") AND ("EMPLOYEE"."PROCESS_LEVEL"="DEPTCODE"."PROCESS_LEVEL")) AND ("EMPLOYEE"."DEPARTMENT"="DEPTCODE"."DEPARTMENT")
WHERE "EMPLOYEE"."EMP_STATUS"<'34'
ORDER BY "EMPLOYEE"."PROCESS_LEVEL", "DEPTCODE"."R_NAME"
Thanks so much