The US EEO Pay Category Analysis report uses the HR Compliance topic to show employee data such as age, gender, job, and earnings information. You can use this report to identify and analyze the causes of any pay disparities in the workplace for employees in the United States.
Fields
| Field Name | Group by | Sort Order | Totals |
|---|---|---|---|
| Employee | A to Z | ||
| Location | Ascending | ||
| Hire Date | |||
| Length of Service | |||
| Gender | |||
| Age | |||
| Ethnicity | |||
| State | |||
| Job Assignment | |||
| Pay Grade | |||
| EEO Job Title | |||
| Manager | |||
| Status | |||
| Pay Class | |||
| Pay Type | |||
| Pay Policy | |||
| Base Salary | |||
| Earning Type | |||
| Amount |
Custom Fields
Age
The Age field shows the employee’s age. It uses the following expression:
DATEDIFF(year, PRPayRunRegister.EmployeeBirthDate, GETDATE())
Amount
The Amount field shows the amount for that employee. It uses the following expression:
SUM(CASE
WHEN PRPayRunRegister.RecordType = 'EarningGrouping'
AND PRPayRunRegister.IsLastCheck = 'True' THEN PRPayRunRegister.Amount
ELSE 0.00
END)
Ethnicity
The Ethnicity field shows the employee’s ethnicity. It uses the following expression:
ISNULL(EnteredEthnicityCustom.EmployeeEnteredEthnicity, EnteredEthnicityCustom.ManagerEnteredEthnicity)
Gender
The Gender field shows the employee’s gender. It uses the following expression:
CASE WHEN EmployeeGenderIdentity.ReferenceCode LIKE '%(___: __)%' THEN CASE WHEN EmployeeGenderIdentity.ReferenceCode IS NULL THEN 'Gender Unassigned' WHEN EmployeeGenderIdentity.ReferenceCode LIKE '%FEMALE (___: __)%' THEN 'Female' WHEN EmployeeGenderIdentity.ReferenceCode LIKE '%MALE (___: __)%' THEN 'Male' ELSE 'Non-Binary' END WHEN EmployeeAssignedSex.ReferenceCode LIKE '%(___: __)%' THEN CASE WHEN EmployeeAssignedSex.ReferenceCode IS NULL THEN 'Gender Unassigned' WHEN EmployeeAssignedSex.ReferenceCode LIKE '%F (___: __)%' THEN 'Female' WHEN EmployeeAssignedSex.ReferenceCode LIKE '%M (___: __)%' THEN 'Male' ELSE 'Non-Binary' END ELSE CASE WHEN EmployeeAssignedSex.ReferenceCode IS NULL THEN 'Gender Unassigned' WHEN EmployeeAssignedSex.ReferenceCode LIKE '%F (%' THEN 'Female' WHEN EmployeeAssignedSex.ReferenceCode LIKE '%M (%' THEN 'Male' ELSE 'Non-Binary' END END
Length of Service
The Length of Service field shows the employee’s length of service. It uses the following expression:
CASE WHEN PRPayRunRegister.EmployeeHireDate < GETDATE() THEN CASE WHEN PRPayRunRegister.EmployeeHireDate < PRPayRunRegister.EmployeeTerminationDate THEN CONVERT(NVARCHAR(10), FLOOR((DATEDIFF(DAY, PRPayRunRegister.EmployeeHireDate, PRPayRunRegister.EmployeeTerminationDate) / 365.0))) + ' Years ' + CONVERT(NVARCHAR(10), CASE WHEN CASE WHEN DATEPART(dd, PRPayRunRegister.EmployeeHireDate) <= DATEPART(dd, PRPayRunRegister.EmployeeTerminationDate) THEN DATEDIFF(MONTH, DATEADD(YEAR, FLOOR(DATEDIFF(DAY, PRPayRunRegister.EmployeeHireDate, PRPayRunRegister.EmployeeTerminationDate) / 365.0), PRPayRunRegister.EmployeeHireDate), PRPayRunRegister.EmployeeTerminationDate) ELSE DATEDIFF(MONTH, DATEADD(YEAR, FLOOR(DATEDIFF(DAY, PRPayRunRegister.EmployeeHireDate, PRPayRunRegister.EmployeeTerminationDate) / 365.0), PRPayRunRegister.EmployeeHireDate), PRPayRunRegister.EmployeeTerminationDate) - 1 END = -1 THEN 0 ELSE CASE WHEN DATEPART(dd, PRPayRunRegister.EmployeeHireDate) <= DATEPART(dd, PRPayRunRegister.EmployeeTerminationDate) THEN DATEDIFF(MONTH, DATEADD(YEAR, FLOOR(DATEDIFF(DAY, PRPayRunRegister.EmployeeHireDate, PRPayRunRegister.EmployeeTerminationDate) / 365.0), PRPayRunRegister.EmployeeHireDate), PRPayRunRegister.EmployeeTerminationDate) ELSE DATEDIFF(MONTH, DATEADD(YEAR, FLOOR(DATEDIFF(DAY, PRPayRunRegister.EmployeeHireDate, PRPayRunRegister.EmployeeTerminationDate) / 365.0), PRPayRunRegister.EmployeeHireDate), PRPayRunRegister.EmployeeTerminationDate) - 1 END END) ELSE CONVERT(NVARCHAR(10), FLOOR(DATEDIFF(DAY, PRPayRunRegister.EmployeeHireDate ,GETDATE()) / 365.0)) + ' Years ' + CONVERT(NVARCHAR(10), CASE WHEN CASE WHEN DATEPART(dd, PRPayRunRegister.EmployeeHireDate) <= DATEPART(dd, GETDATE()) THEN DATEDIFF(MONTH, DATEADD(YEAR, FLOOR(DATEDIFF(DAY, PRPayRunRegister.EmployeeHireDate, GETDATE()) / 365.0), PRPayRunRegister.EmployeeHireDate), GETDATE()) ELSE DATEDIFF(MONTH, DATEADD(YEAR, FLOOR(DATEDIFF(DAY, PRPayRunRegister.EmployeeHireDate, GETDATE()) / 365.0), PRPayRunRegister.EmployeeHireDate), GETDATE()) - 1 END = -1 THEN 0 ELSE CASE WHEN DATEPART(dd, PRPayRunRegister.EmployeeHireDate) <= DATEPART(dd, GETDATE()) THEN DATEDIFF(MONTH, DATEADD(YEAR, FLOOR(DATEDIFF(DAY, PRPayRunRegister.EmployeeHireDate, GETDATE()) / 365.0), PRPayRunRegister.EmployeeHireDate), GETDATE()) ELSE DATEDIFF(MONTH, DATEADD(YEAR, FLOOR(DATEDIFF(DAY, PRPayRunRegister.EmployeeHireDate, GETDATE()) / 365.0), PRPayRunRegister.EmployeeHireDate), GETDATE()) - 1 END END) END + ' Months' ELSE '' END
Filters
The template includes the following filters: